home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / strmif.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  864KB  |  29,218 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for strmif.idl:
  9.     Oicf, W1, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31. #ifndef COM_NO_WINDOWS_H
  32. #include "windows.h"
  33. #include "ole2.h"
  34. #endif /*COM_NO_WINDOWS_H*/
  35.  
  36. #ifndef __strmif_h__
  37. #define __strmif_h__
  38.  
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42.  
  43. /* Forward Declarations */ 
  44.  
  45. #ifndef __ICreateDevEnum_FWD_DEFINED__
  46. #define __ICreateDevEnum_FWD_DEFINED__
  47. typedef interface ICreateDevEnum ICreateDevEnum;
  48. #endif     /* __ICreateDevEnum_FWD_DEFINED__ */
  49.  
  50.  
  51. #ifndef __IPin_FWD_DEFINED__
  52. #define __IPin_FWD_DEFINED__
  53. typedef interface IPin IPin;
  54. #endif     /* __IPin_FWD_DEFINED__ */
  55.  
  56.  
  57. #ifndef __IEnumPins_FWD_DEFINED__
  58. #define __IEnumPins_FWD_DEFINED__
  59. typedef interface IEnumPins IEnumPins;
  60. #endif     /* __IEnumPins_FWD_DEFINED__ */
  61.  
  62.  
  63. #ifndef __IEnumMediaTypes_FWD_DEFINED__
  64. #define __IEnumMediaTypes_FWD_DEFINED__
  65. typedef interface IEnumMediaTypes IEnumMediaTypes;
  66. #endif     /* __IEnumMediaTypes_FWD_DEFINED__ */
  67.  
  68.  
  69. #ifndef __IFilterGraph_FWD_DEFINED__
  70. #define __IFilterGraph_FWD_DEFINED__
  71. typedef interface IFilterGraph IFilterGraph;
  72. #endif     /* __IFilterGraph_FWD_DEFINED__ */
  73.  
  74.  
  75. #ifndef __IEnumFilters_FWD_DEFINED__
  76. #define __IEnumFilters_FWD_DEFINED__
  77. typedef interface IEnumFilters IEnumFilters;
  78. #endif     /* __IEnumFilters_FWD_DEFINED__ */
  79.  
  80.  
  81. #ifndef __IMediaFilter_FWD_DEFINED__
  82. #define __IMediaFilter_FWD_DEFINED__
  83. typedef interface IMediaFilter IMediaFilter;
  84. #endif     /* __IMediaFilter_FWD_DEFINED__ */
  85.  
  86.  
  87. #ifndef __IBaseFilter_FWD_DEFINED__
  88. #define __IBaseFilter_FWD_DEFINED__
  89. typedef interface IBaseFilter IBaseFilter;
  90. #endif     /* __IBaseFilter_FWD_DEFINED__ */
  91.  
  92.  
  93. #ifndef __IReferenceClock_FWD_DEFINED__
  94. #define __IReferenceClock_FWD_DEFINED__
  95. typedef interface IReferenceClock IReferenceClock;
  96. #endif     /* __IReferenceClock_FWD_DEFINED__ */
  97.  
  98.  
  99. #ifndef __IReferenceClock2_FWD_DEFINED__
  100. #define __IReferenceClock2_FWD_DEFINED__
  101. typedef interface IReferenceClock2 IReferenceClock2;
  102. #endif     /* __IReferenceClock2_FWD_DEFINED__ */
  103.  
  104.  
  105. #ifndef __IMediaSample_FWD_DEFINED__
  106. #define __IMediaSample_FWD_DEFINED__
  107. typedef interface IMediaSample IMediaSample;
  108. #endif     /* __IMediaSample_FWD_DEFINED__ */
  109.  
  110.  
  111. #ifndef __IMediaSample2_FWD_DEFINED__
  112. #define __IMediaSample2_FWD_DEFINED__
  113. typedef interface IMediaSample2 IMediaSample2;
  114. #endif     /* __IMediaSample2_FWD_DEFINED__ */
  115.  
  116.  
  117. #ifndef __IMemAllocator_FWD_DEFINED__
  118. #define __IMemAllocator_FWD_DEFINED__
  119. typedef interface IMemAllocator IMemAllocator;
  120. #endif     /* __IMemAllocator_FWD_DEFINED__ */
  121.  
  122.  
  123. #ifndef __IMemAllocatorCallbackTemp_FWD_DEFINED__
  124. #define __IMemAllocatorCallbackTemp_FWD_DEFINED__
  125. typedef interface IMemAllocatorCallbackTemp IMemAllocatorCallbackTemp;
  126. #endif     /* __IMemAllocatorCallbackTemp_FWD_DEFINED__ */
  127.  
  128.  
  129. #ifndef __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  130. #define __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__
  131. typedef interface IMemAllocatorNotifyCallbackTemp IMemAllocatorNotifyCallbackTemp;
  132. #endif     /* __IMemAllocatorNotifyCallbackTemp_FWD_DEFINED__ */
  133.  
  134.  
  135. #ifndef __IMemInputPin_FWD_DEFINED__
  136. #define __IMemInputPin_FWD_DEFINED__
  137. typedef interface IMemInputPin IMemInputPin;
  138. #endif     /* __IMemInputPin_FWD_DEFINED__ */
  139.  
  140.  
  141. #ifndef __IAMovieSetup_FWD_DEFINED__
  142. #define __IAMovieSetup_FWD_DEFINED__
  143. typedef interface IAMovieSetup IAMovieSetup;
  144. #endif     /* __IAMovieSetup_FWD_DEFINED__ */
  145.  
  146.  
  147. #ifndef __IMediaSeeking_FWD_DEFINED__
  148. #define __IMediaSeeking_FWD_DEFINED__
  149. typedef interface IMediaSeeking IMediaSeeking;
  150. #endif     /* __IMediaSeeking_FWD_DEFINED__ */
  151.  
  152.  
  153. #ifndef __IEnumRegFilters_FWD_DEFINED__
  154. #define __IEnumRegFilters_FWD_DEFINED__
  155. typedef interface IEnumRegFilters IEnumRegFilters;
  156. #endif     /* __IEnumRegFilters_FWD_DEFINED__ */
  157.  
  158.  
  159. #ifndef __IFilterMapper_FWD_DEFINED__
  160. #define __IFilterMapper_FWD_DEFINED__
  161. typedef interface IFilterMapper IFilterMapper;
  162. #endif     /* __IFilterMapper_FWD_DEFINED__ */
  163.  
  164.  
  165. #ifndef __IFilterMapper2_FWD_DEFINED__
  166. #define __IFilterMapper2_FWD_DEFINED__
  167. typedef interface IFilterMapper2 IFilterMapper2;
  168. #endif     /* __IFilterMapper2_FWD_DEFINED__ */
  169.  
  170.  
  171. #ifndef __IFilterMapper3_FWD_DEFINED__
  172. #define __IFilterMapper3_FWD_DEFINED__
  173. typedef interface IFilterMapper3 IFilterMapper3;
  174. #endif     /* __IFilterMapper3_FWD_DEFINED__ */
  175.  
  176.  
  177. #ifndef __IQualityControl_FWD_DEFINED__
  178. #define __IQualityControl_FWD_DEFINED__
  179. typedef interface IQualityControl IQualityControl;
  180. #endif     /* __IQualityControl_FWD_DEFINED__ */
  181.  
  182.  
  183. #ifndef __IOverlayNotify_FWD_DEFINED__
  184. #define __IOverlayNotify_FWD_DEFINED__
  185. typedef interface IOverlayNotify IOverlayNotify;
  186. #endif     /* __IOverlayNotify_FWD_DEFINED__ */
  187.  
  188.  
  189. #ifndef __IOverlayNotify2_FWD_DEFINED__
  190. #define __IOverlayNotify2_FWD_DEFINED__
  191. typedef interface IOverlayNotify2 IOverlayNotify2;
  192. #endif     /* __IOverlayNotify2_FWD_DEFINED__ */
  193.  
  194.  
  195. #ifndef __IOverlay_FWD_DEFINED__
  196. #define __IOverlay_FWD_DEFINED__
  197. typedef interface IOverlay IOverlay;
  198. #endif     /* __IOverlay_FWD_DEFINED__ */
  199.  
  200.  
  201. #ifndef __IMediaEventSink_FWD_DEFINED__
  202. #define __IMediaEventSink_FWD_DEFINED__
  203. typedef interface IMediaEventSink IMediaEventSink;
  204. #endif     /* __IMediaEventSink_FWD_DEFINED__ */
  205.  
  206.  
  207. #ifndef __IFileSourceFilter_FWD_DEFINED__
  208. #define __IFileSourceFilter_FWD_DEFINED__
  209. typedef interface IFileSourceFilter IFileSourceFilter;
  210. #endif     /* __IFileSourceFilter_FWD_DEFINED__ */
  211.  
  212.  
  213. #ifndef __IFileSinkFilter_FWD_DEFINED__
  214. #define __IFileSinkFilter_FWD_DEFINED__
  215. typedef interface IFileSinkFilter IFileSinkFilter;
  216. #endif     /* __IFileSinkFilter_FWD_DEFINED__ */
  217.  
  218.  
  219. #ifndef __IFileSinkFilter2_FWD_DEFINED__
  220. #define __IFileSinkFilter2_FWD_DEFINED__
  221. typedef interface IFileSinkFilter2 IFileSinkFilter2;
  222. #endif     /* __IFileSinkFilter2_FWD_DEFINED__ */
  223.  
  224.  
  225. #ifndef __IGraphBuilder_FWD_DEFINED__
  226. #define __IGraphBuilder_FWD_DEFINED__
  227. typedef interface IGraphBuilder IGraphBuilder;
  228. #endif     /* __IGraphBuilder_FWD_DEFINED__ */
  229.  
  230.  
  231. #ifndef __ICaptureGraphBuilder_FWD_DEFINED__
  232. #define __ICaptureGraphBuilder_FWD_DEFINED__
  233. typedef interface ICaptureGraphBuilder ICaptureGraphBuilder;
  234. #endif     /* __ICaptureGraphBuilder_FWD_DEFINED__ */
  235.  
  236.  
  237. #ifndef __IAMCopyCaptureFileProgress_FWD_DEFINED__
  238. #define __IAMCopyCaptureFileProgress_FWD_DEFINED__
  239. typedef interface IAMCopyCaptureFileProgress IAMCopyCaptureFileProgress;
  240. #endif     /* __IAMCopyCaptureFileProgress_FWD_DEFINED__ */
  241.  
  242.  
  243. #ifndef __ICaptureGraphBuilder2_FWD_DEFINED__
  244. #define __ICaptureGraphBuilder2_FWD_DEFINED__
  245. typedef interface ICaptureGraphBuilder2 ICaptureGraphBuilder2;
  246. #endif     /* __ICaptureGraphBuilder2_FWD_DEFINED__ */
  247.  
  248.  
  249. #ifndef __IFilterGraph2_FWD_DEFINED__
  250. #define __IFilterGraph2_FWD_DEFINED__
  251. typedef interface IFilterGraph2 IFilterGraph2;
  252. #endif     /* __IFilterGraph2_FWD_DEFINED__ */
  253.  
  254.  
  255. #ifndef __IStreamBuilder_FWD_DEFINED__
  256. #define __IStreamBuilder_FWD_DEFINED__
  257. typedef interface IStreamBuilder IStreamBuilder;
  258. #endif     /* __IStreamBuilder_FWD_DEFINED__ */
  259.  
  260.  
  261. #ifndef __IAsyncReader_FWD_DEFINED__
  262. #define __IAsyncReader_FWD_DEFINED__
  263. typedef interface IAsyncReader IAsyncReader;
  264. #endif     /* __IAsyncReader_FWD_DEFINED__ */
  265.  
  266.  
  267. #ifndef __IGraphVersion_FWD_DEFINED__
  268. #define __IGraphVersion_FWD_DEFINED__
  269. typedef interface IGraphVersion IGraphVersion;
  270. #endif     /* __IGraphVersion_FWD_DEFINED__ */
  271.  
  272.  
  273. #ifndef __IResourceConsumer_FWD_DEFINED__
  274. #define __IResourceConsumer_FWD_DEFINED__
  275. typedef interface IResourceConsumer IResourceConsumer;
  276. #endif     /* __IResourceConsumer_FWD_DEFINED__ */
  277.  
  278.  
  279. #ifndef __IResourceManager_FWD_DEFINED__
  280. #define __IResourceManager_FWD_DEFINED__
  281. typedef interface IResourceManager IResourceManager;
  282. #endif     /* __IResourceManager_FWD_DEFINED__ */
  283.  
  284.  
  285. #ifndef __IDistributorNotify_FWD_DEFINED__
  286. #define __IDistributorNotify_FWD_DEFINED__
  287. typedef interface IDistributorNotify IDistributorNotify;
  288. #endif     /* __IDistributorNotify_FWD_DEFINED__ */
  289.  
  290.  
  291. #ifndef __IAMStreamControl_FWD_DEFINED__
  292. #define __IAMStreamControl_FWD_DEFINED__
  293. typedef interface IAMStreamControl IAMStreamControl;
  294. #endif     /* __IAMStreamControl_FWD_DEFINED__ */
  295.  
  296.  
  297. #ifndef __ISeekingPassThru_FWD_DEFINED__
  298. #define __ISeekingPassThru_FWD_DEFINED__
  299. typedef interface ISeekingPassThru ISeekingPassThru;
  300. #endif     /* __ISeekingPassThru_FWD_DEFINED__ */
  301.  
  302.  
  303. #ifndef __IAMStreamConfig_FWD_DEFINED__
  304. #define __IAMStreamConfig_FWD_DEFINED__
  305. typedef interface IAMStreamConfig IAMStreamConfig;
  306. #endif     /* __IAMStreamConfig_FWD_DEFINED__ */
  307.  
  308.  
  309. #ifndef __IConfigInterleaving_FWD_DEFINED__
  310. #define __IConfigInterleaving_FWD_DEFINED__
  311. typedef interface IConfigInterleaving IConfigInterleaving;
  312. #endif     /* __IConfigInterleaving_FWD_DEFINED__ */
  313.  
  314.  
  315. #ifndef __IConfigAviMux_FWD_DEFINED__
  316. #define __IConfigAviMux_FWD_DEFINED__
  317. typedef interface IConfigAviMux IConfigAviMux;
  318. #endif     /* __IConfigAviMux_FWD_DEFINED__ */
  319.  
  320.  
  321. #ifndef __IAMVideoCompression_FWD_DEFINED__
  322. #define __IAMVideoCompression_FWD_DEFINED__
  323. typedef interface IAMVideoCompression IAMVideoCompression;
  324. #endif     /* __IAMVideoCompression_FWD_DEFINED__ */
  325.  
  326.  
  327. #ifndef __IAMVfwCaptureDialogs_FWD_DEFINED__
  328. #define __IAMVfwCaptureDialogs_FWD_DEFINED__
  329. typedef interface IAMVfwCaptureDialogs IAMVfwCaptureDialogs;
  330. #endif     /* __IAMVfwCaptureDialogs_FWD_DEFINED__ */
  331.  
  332.  
  333. #ifndef __IAMVfwCompressDialogs_FWD_DEFINED__
  334. #define __IAMVfwCompressDialogs_FWD_DEFINED__
  335. typedef interface IAMVfwCompressDialogs IAMVfwCompressDialogs;
  336. #endif     /* __IAMVfwCompressDialogs_FWD_DEFINED__ */
  337.  
  338.  
  339. #ifndef __IAMDroppedFrames_FWD_DEFINED__
  340. #define __IAMDroppedFrames_FWD_DEFINED__
  341. typedef interface IAMDroppedFrames IAMDroppedFrames;
  342. #endif     /* __IAMDroppedFrames_FWD_DEFINED__ */
  343.  
  344.  
  345. #ifndef __IAMAudioInputMixer_FWD_DEFINED__
  346. #define __IAMAudioInputMixer_FWD_DEFINED__
  347. typedef interface IAMAudioInputMixer IAMAudioInputMixer;
  348. #endif     /* __IAMAudioInputMixer_FWD_DEFINED__ */
  349.  
  350.  
  351. #ifndef __IAMBufferNegotiation_FWD_DEFINED__
  352. #define __IAMBufferNegotiation_FWD_DEFINED__
  353. typedef interface IAMBufferNegotiation IAMBufferNegotiation;
  354. #endif     /* __IAMBufferNegotiation_FWD_DEFINED__ */
  355.  
  356.  
  357. #ifndef __IAMAnalogVideoDecoder_FWD_DEFINED__
  358. #define __IAMAnalogVideoDecoder_FWD_DEFINED__
  359. typedef interface IAMAnalogVideoDecoder IAMAnalogVideoDecoder;
  360. #endif     /* __IAMAnalogVideoDecoder_FWD_DEFINED__ */
  361.  
  362.  
  363. #ifndef __IAMVideoProcAmp_FWD_DEFINED__
  364. #define __IAMVideoProcAmp_FWD_DEFINED__
  365. typedef interface IAMVideoProcAmp IAMVideoProcAmp;
  366. #endif     /* __IAMVideoProcAmp_FWD_DEFINED__ */
  367.  
  368.  
  369. #ifndef __IAMCameraControl_FWD_DEFINED__
  370. #define __IAMCameraControl_FWD_DEFINED__
  371. typedef interface IAMCameraControl IAMCameraControl;
  372. #endif     /* __IAMCameraControl_FWD_DEFINED__ */
  373.  
  374.  
  375. #ifndef __IAMVideoControl_FWD_DEFINED__
  376. #define __IAMVideoControl_FWD_DEFINED__
  377. typedef interface IAMVideoControl IAMVideoControl;
  378. #endif     /* __IAMVideoControl_FWD_DEFINED__ */
  379.  
  380.  
  381. #ifndef __IAMCrossbar_FWD_DEFINED__
  382. #define __IAMCrossbar_FWD_DEFINED__
  383. typedef interface IAMCrossbar IAMCrossbar;
  384. #endif     /* __IAMCrossbar_FWD_DEFINED__ */
  385.  
  386.  
  387. #ifndef __IAMTuner_FWD_DEFINED__
  388. #define __IAMTuner_FWD_DEFINED__
  389. typedef interface IAMTuner IAMTuner;
  390. #endif     /* __IAMTuner_FWD_DEFINED__ */
  391.  
  392.  
  393. #ifndef __IAMTunerNotification_FWD_DEFINED__
  394. #define __IAMTunerNotification_FWD_DEFINED__
  395. typedef interface IAMTunerNotification IAMTunerNotification;
  396. #endif     /* __IAMTunerNotification_FWD_DEFINED__ */
  397.  
  398.  
  399. #ifndef __IAMTVTuner_FWD_DEFINED__
  400. #define __IAMTVTuner_FWD_DEFINED__
  401. typedef interface IAMTVTuner IAMTVTuner;
  402. #endif     /* __IAMTVTuner_FWD_DEFINED__ */
  403.  
  404.  
  405. #ifndef __IBPCSatelliteTuner_FWD_DEFINED__
  406. #define __IBPCSatelliteTuner_FWD_DEFINED__
  407. typedef interface IBPCSatelliteTuner IBPCSatelliteTuner;
  408. #endif     /* __IBPCSatelliteTuner_FWD_DEFINED__ */
  409.  
  410.  
  411. #ifndef __IAMTVAudio_FWD_DEFINED__
  412. #define __IAMTVAudio_FWD_DEFINED__
  413. typedef interface IAMTVAudio IAMTVAudio;
  414. #endif     /* __IAMTVAudio_FWD_DEFINED__ */
  415.  
  416.  
  417. #ifndef __IAMTVAudioNotification_FWD_DEFINED__
  418. #define __IAMTVAudioNotification_FWD_DEFINED__
  419. typedef interface IAMTVAudioNotification IAMTVAudioNotification;
  420. #endif     /* __IAMTVAudioNotification_FWD_DEFINED__ */
  421.  
  422.  
  423. #ifndef __IAMAnalogVideoEncoder_FWD_DEFINED__
  424. #define __IAMAnalogVideoEncoder_FWD_DEFINED__
  425. typedef interface IAMAnalogVideoEncoder IAMAnalogVideoEncoder;
  426. #endif     /* __IAMAnalogVideoEncoder_FWD_DEFINED__ */
  427.  
  428.  
  429. #ifndef __IKsPropertySet_FWD_DEFINED__
  430. #define __IKsPropertySet_FWD_DEFINED__
  431. typedef interface IKsPropertySet IKsPropertySet;
  432. #endif     /* __IKsPropertySet_FWD_DEFINED__ */
  433.  
  434.  
  435. #ifndef __IMediaPropertyBag_FWD_DEFINED__
  436. #define __IMediaPropertyBag_FWD_DEFINED__
  437. typedef interface IMediaPropertyBag IMediaPropertyBag;
  438. #endif     /* __IMediaPropertyBag_FWD_DEFINED__ */
  439.  
  440.  
  441. #ifndef __IPersistMediaPropertyBag_FWD_DEFINED__
  442. #define __IPersistMediaPropertyBag_FWD_DEFINED__
  443. typedef interface IPersistMediaPropertyBag IPersistMediaPropertyBag;
  444. #endif     /* __IPersistMediaPropertyBag_FWD_DEFINED__ */
  445.  
  446.  
  447. #ifndef __IAMPhysicalPinInfo_FWD_DEFINED__
  448. #define __IAMPhysicalPinInfo_FWD_DEFINED__
  449. typedef interface IAMPhysicalPinInfo IAMPhysicalPinInfo;
  450. #endif     /* __IAMPhysicalPinInfo_FWD_DEFINED__ */
  451.  
  452.  
  453. #ifndef __IAMExtDevice_FWD_DEFINED__
  454. #define __IAMExtDevice_FWD_DEFINED__
  455. typedef interface IAMExtDevice IAMExtDevice;
  456. #endif     /* __IAMExtDevice_FWD_DEFINED__ */
  457.  
  458.  
  459. #ifndef __IAMExtTransport_FWD_DEFINED__
  460. #define __IAMExtTransport_FWD_DEFINED__
  461. typedef interface IAMExtTransport IAMExtTransport;
  462. #endif     /* __IAMExtTransport_FWD_DEFINED__ */
  463.  
  464.  
  465. #ifndef __IAMTimecodeReader_FWD_DEFINED__
  466. #define __IAMTimecodeReader_FWD_DEFINED__
  467. typedef interface IAMTimecodeReader IAMTimecodeReader;
  468. #endif     /* __IAMTimecodeReader_FWD_DEFINED__ */
  469.  
  470.  
  471. #ifndef __IAMTimecodeGenerator_FWD_DEFINED__
  472. #define __IAMTimecodeGenerator_FWD_DEFINED__
  473. typedef interface IAMTimecodeGenerator IAMTimecodeGenerator;
  474. #endif     /* __IAMTimecodeGenerator_FWD_DEFINED__ */
  475.  
  476.  
  477. #ifndef __IAMTimecodeDisplay_FWD_DEFINED__
  478. #define __IAMTimecodeDisplay_FWD_DEFINED__
  479. typedef interface IAMTimecodeDisplay IAMTimecodeDisplay;
  480. #endif     /* __IAMTimecodeDisplay_FWD_DEFINED__ */
  481.  
  482.  
  483. #ifndef __IAMDevMemoryAllocator_FWD_DEFINED__
  484. #define __IAMDevMemoryAllocator_FWD_DEFINED__
  485. typedef interface IAMDevMemoryAllocator IAMDevMemoryAllocator;
  486. #endif     /* __IAMDevMemoryAllocator_FWD_DEFINED__ */
  487.  
  488.  
  489. #ifndef __IAMDevMemoryControl_FWD_DEFINED__
  490. #define __IAMDevMemoryControl_FWD_DEFINED__
  491. typedef interface IAMDevMemoryControl IAMDevMemoryControl;
  492. #endif     /* __IAMDevMemoryControl_FWD_DEFINED__ */
  493.  
  494.  
  495. #ifndef __IAMStreamSelect_FWD_DEFINED__
  496. #define __IAMStreamSelect_FWD_DEFINED__
  497. typedef interface IAMStreamSelect IAMStreamSelect;
  498. #endif     /* __IAMStreamSelect_FWD_DEFINED__ */
  499.  
  500.  
  501. #ifndef __IAMResourceControl_FWD_DEFINED__
  502. #define __IAMResourceControl_FWD_DEFINED__
  503. typedef interface IAMResourceControl IAMResourceControl;
  504. #endif     /* __IAMResourceControl_FWD_DEFINED__ */
  505.  
  506.  
  507. #ifndef __IAMClockAdjust_FWD_DEFINED__
  508. #define __IAMClockAdjust_FWD_DEFINED__
  509. typedef interface IAMClockAdjust IAMClockAdjust;
  510. #endif     /* __IAMClockAdjust_FWD_DEFINED__ */
  511.  
  512.  
  513. #ifndef __IAMFilterMiscFlags_FWD_DEFINED__
  514. #define __IAMFilterMiscFlags_FWD_DEFINED__
  515. typedef interface IAMFilterMiscFlags IAMFilterMiscFlags;
  516. #endif     /* __IAMFilterMiscFlags_FWD_DEFINED__ */
  517.  
  518.  
  519. #ifndef __IDrawVideoImage_FWD_DEFINED__
  520. #define __IDrawVideoImage_FWD_DEFINED__
  521. typedef interface IDrawVideoImage IDrawVideoImage;
  522. #endif     /* __IDrawVideoImage_FWD_DEFINED__ */
  523.  
  524.  
  525. #ifndef __IDecimateVideoImage_FWD_DEFINED__
  526. #define __IDecimateVideoImage_FWD_DEFINED__
  527. typedef interface IDecimateVideoImage IDecimateVideoImage;
  528. #endif     /* __IDecimateVideoImage_FWD_DEFINED__ */
  529.  
  530.  
  531. #ifndef __IAMVideoDecimationProperties_FWD_DEFINED__
  532. #define __IAMVideoDecimationProperties_FWD_DEFINED__
  533. typedef interface IAMVideoDecimationProperties IAMVideoDecimationProperties;
  534. #endif     /* __IAMVideoDecimationProperties_FWD_DEFINED__ */
  535.  
  536.  
  537. #ifndef __IVideoFrameStep_FWD_DEFINED__
  538. #define __IVideoFrameStep_FWD_DEFINED__
  539. typedef interface IVideoFrameStep IVideoFrameStep;
  540. #endif     /* __IVideoFrameStep_FWD_DEFINED__ */
  541.  
  542.  
  543. #ifndef __IAMLatency_FWD_DEFINED__
  544. #define __IAMLatency_FWD_DEFINED__
  545. typedef interface IAMLatency IAMLatency;
  546. #endif     /* __IAMLatency_FWD_DEFINED__ */
  547.  
  548.  
  549. #ifndef __IAMPushSource_FWD_DEFINED__
  550. #define __IAMPushSource_FWD_DEFINED__
  551. typedef interface IAMPushSource IAMPushSource;
  552. #endif     /* __IAMPushSource_FWD_DEFINED__ */
  553.  
  554.  
  555. #ifndef __IAMDeviceRemoval_FWD_DEFINED__
  556. #define __IAMDeviceRemoval_FWD_DEFINED__
  557. typedef interface IAMDeviceRemoval IAMDeviceRemoval;
  558. #endif     /* __IAMDeviceRemoval_FWD_DEFINED__ */
  559.  
  560.  
  561. #ifndef __IDVEnc_FWD_DEFINED__
  562. #define __IDVEnc_FWD_DEFINED__
  563. typedef interface IDVEnc IDVEnc;
  564. #endif     /* __IDVEnc_FWD_DEFINED__ */
  565.  
  566.  
  567. #ifndef __IIPDVDec_FWD_DEFINED__
  568. #define __IIPDVDec_FWD_DEFINED__
  569. typedef interface IIPDVDec IIPDVDec;
  570. #endif     /* __IIPDVDec_FWD_DEFINED__ */
  571.  
  572.  
  573. #ifndef __IDVRGB219_FWD_DEFINED__
  574. #define __IDVRGB219_FWD_DEFINED__
  575. typedef interface IDVRGB219 IDVRGB219;
  576. #endif     /* __IDVRGB219_FWD_DEFINED__ */
  577.  
  578.  
  579. #ifndef __IDVSplitter_FWD_DEFINED__
  580. #define __IDVSplitter_FWD_DEFINED__
  581. typedef interface IDVSplitter IDVSplitter;
  582. #endif     /* __IDVSplitter_FWD_DEFINED__ */
  583.  
  584.  
  585. #ifndef __IAMAudioRendererStats_FWD_DEFINED__
  586. #define __IAMAudioRendererStats_FWD_DEFINED__
  587. typedef interface IAMAudioRendererStats IAMAudioRendererStats;
  588. #endif     /* __IAMAudioRendererStats_FWD_DEFINED__ */
  589.  
  590.  
  591. #ifndef __IAMGraphStreams_FWD_DEFINED__
  592. #define __IAMGraphStreams_FWD_DEFINED__
  593. typedef interface IAMGraphStreams IAMGraphStreams;
  594. #endif     /* __IAMGraphStreams_FWD_DEFINED__ */
  595.  
  596.  
  597. #ifndef __IAMOverlayFX_FWD_DEFINED__
  598. #define __IAMOverlayFX_FWD_DEFINED__
  599. typedef interface IAMOverlayFX IAMOverlayFX;
  600. #endif     /* __IAMOverlayFX_FWD_DEFINED__ */
  601.  
  602.  
  603. #ifndef __IAMOpenProgress_FWD_DEFINED__
  604. #define __IAMOpenProgress_FWD_DEFINED__
  605. typedef interface IAMOpenProgress IAMOpenProgress;
  606. #endif     /* __IAMOpenProgress_FWD_DEFINED__ */
  607.  
  608.  
  609. #ifndef __IMpeg2Demultiplexer_FWD_DEFINED__
  610. #define __IMpeg2Demultiplexer_FWD_DEFINED__
  611. typedef interface IMpeg2Demultiplexer IMpeg2Demultiplexer;
  612. #endif     /* __IMpeg2Demultiplexer_FWD_DEFINED__ */
  613.  
  614.  
  615. #ifndef __IEnumStreamIdMap_FWD_DEFINED__
  616. #define __IEnumStreamIdMap_FWD_DEFINED__
  617. typedef interface IEnumStreamIdMap IEnumStreamIdMap;
  618. #endif     /* __IEnumStreamIdMap_FWD_DEFINED__ */
  619.  
  620.  
  621. #ifndef __IMPEG2StreamIdMap_FWD_DEFINED__
  622. #define __IMPEG2StreamIdMap_FWD_DEFINED__
  623. typedef interface IMPEG2StreamIdMap IMPEG2StreamIdMap;
  624. #endif     /* __IMPEG2StreamIdMap_FWD_DEFINED__ */
  625.  
  626.  
  627. #ifndef __IRegisterServiceProvider_FWD_DEFINED__
  628. #define __IRegisterServiceProvider_FWD_DEFINED__
  629. typedef interface IRegisterServiceProvider IRegisterServiceProvider;
  630. #endif     /* __IRegisterServiceProvider_FWD_DEFINED__ */
  631.  
  632.  
  633. #ifndef __IAMDecoderCaps_FWD_DEFINED__
  634. #define __IAMDecoderCaps_FWD_DEFINED__
  635. typedef interface IAMDecoderCaps IAMDecoderCaps;
  636. #endif     /* __IAMDecoderCaps_FWD_DEFINED__ */
  637.  
  638.  
  639. #ifndef __IAMClockSlave_FWD_DEFINED__
  640. #define __IAMClockSlave_FWD_DEFINED__
  641. typedef interface IAMClockSlave IAMClockSlave;
  642. #endif     /* __IAMClockSlave_FWD_DEFINED__ */
  643.  
  644.  
  645. #ifndef __IDvdControl_FWD_DEFINED__
  646. #define __IDvdControl_FWD_DEFINED__
  647. typedef interface IDvdControl IDvdControl;
  648. #endif     /* __IDvdControl_FWD_DEFINED__ */
  649.  
  650.  
  651. #ifndef __IDvdInfo_FWD_DEFINED__
  652. #define __IDvdInfo_FWD_DEFINED__
  653. typedef interface IDvdInfo IDvdInfo;
  654. #endif     /* __IDvdInfo_FWD_DEFINED__ */
  655.  
  656.  
  657. #ifndef __IDvdCmd_FWD_DEFINED__
  658. #define __IDvdCmd_FWD_DEFINED__
  659. typedef interface IDvdCmd IDvdCmd;
  660. #endif     /* __IDvdCmd_FWD_DEFINED__ */
  661.  
  662.  
  663. #ifndef __IDvdState_FWD_DEFINED__
  664. #define __IDvdState_FWD_DEFINED__
  665. typedef interface IDvdState IDvdState;
  666. #endif     /* __IDvdState_FWD_DEFINED__ */
  667.  
  668.  
  669. #ifndef __IDvdControl2_FWD_DEFINED__
  670. #define __IDvdControl2_FWD_DEFINED__
  671. typedef interface IDvdControl2 IDvdControl2;
  672. #endif     /* __IDvdControl2_FWD_DEFINED__ */
  673.  
  674.  
  675. #ifndef __IDvdInfo2_FWD_DEFINED__
  676. #define __IDvdInfo2_FWD_DEFINED__
  677. typedef interface IDvdInfo2 IDvdInfo2;
  678. #endif     /* __IDvdInfo2_FWD_DEFINED__ */
  679.  
  680.  
  681. #ifndef __IDvdGraphBuilder_FWD_DEFINED__
  682. #define __IDvdGraphBuilder_FWD_DEFINED__
  683. typedef interface IDvdGraphBuilder IDvdGraphBuilder;
  684. #endif     /* __IDvdGraphBuilder_FWD_DEFINED__ */
  685.  
  686.  
  687. #ifndef __IDDrawExclModeVideo_FWD_DEFINED__
  688. #define __IDDrawExclModeVideo_FWD_DEFINED__
  689. typedef interface IDDrawExclModeVideo IDDrawExclModeVideo;
  690. #endif     /* __IDDrawExclModeVideo_FWD_DEFINED__ */
  691.  
  692.  
  693. #ifndef __IDDrawExclModeVideoCallback_FWD_DEFINED__
  694. #define __IDDrawExclModeVideoCallback_FWD_DEFINED__
  695. typedef interface IDDrawExclModeVideoCallback IDDrawExclModeVideoCallback;
  696. #endif     /* __IDDrawExclModeVideoCallback_FWD_DEFINED__ */
  697.  
  698.  
  699. #ifndef __IPinConnection_FWD_DEFINED__
  700. #define __IPinConnection_FWD_DEFINED__
  701. typedef interface IPinConnection IPinConnection;
  702. #endif     /* __IPinConnection_FWD_DEFINED__ */
  703.  
  704.  
  705. #ifndef __IPinFlowControl_FWD_DEFINED__
  706. #define __IPinFlowControl_FWD_DEFINED__
  707. typedef interface IPinFlowControl IPinFlowControl;
  708. #endif     /* __IPinFlowControl_FWD_DEFINED__ */
  709.  
  710.  
  711. #ifndef __IGraphConfig_FWD_DEFINED__
  712. #define __IGraphConfig_FWD_DEFINED__
  713. typedef interface IGraphConfig IGraphConfig;
  714. #endif     /* __IGraphConfig_FWD_DEFINED__ */
  715.  
  716.  
  717. #ifndef __IGraphConfigCallback_FWD_DEFINED__
  718. #define __IGraphConfigCallback_FWD_DEFINED__
  719. typedef interface IGraphConfigCallback IGraphConfigCallback;
  720. #endif     /* __IGraphConfigCallback_FWD_DEFINED__ */
  721.  
  722.  
  723. #ifndef __IFilterChain_FWD_DEFINED__
  724. #define __IFilterChain_FWD_DEFINED__
  725. typedef interface IFilterChain IFilterChain;
  726. #endif     /* __IFilterChain_FWD_DEFINED__ */
  727.  
  728.  
  729. #ifndef __IVMRImagePresenter_FWD_DEFINED__
  730. #define __IVMRImagePresenter_FWD_DEFINED__
  731. typedef interface IVMRImagePresenter IVMRImagePresenter;
  732. #endif     /* __IVMRImagePresenter_FWD_DEFINED__ */
  733.  
  734.  
  735. #ifndef __IVMRSurfaceAllocator_FWD_DEFINED__
  736. #define __IVMRSurfaceAllocator_FWD_DEFINED__
  737. typedef interface IVMRSurfaceAllocator IVMRSurfaceAllocator;
  738. #endif     /* __IVMRSurfaceAllocator_FWD_DEFINED__ */
  739.  
  740.  
  741. #ifndef __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  742. #define __IVMRSurfaceAllocatorNotify_FWD_DEFINED__
  743. typedef interface IVMRSurfaceAllocatorNotify IVMRSurfaceAllocatorNotify;
  744. #endif     /* __IVMRSurfaceAllocatorNotify_FWD_DEFINED__ */
  745.  
  746.  
  747. #ifndef __IVMRWindowlessControl_FWD_DEFINED__
  748. #define __IVMRWindowlessControl_FWD_DEFINED__
  749. typedef interface IVMRWindowlessControl IVMRWindowlessControl;
  750. #endif     /* __IVMRWindowlessControl_FWD_DEFINED__ */
  751.  
  752.  
  753. #ifndef __IVMRMixerControl_FWD_DEFINED__
  754. #define __IVMRMixerControl_FWD_DEFINED__
  755. typedef interface IVMRMixerControl IVMRMixerControl;
  756. #endif     /* __IVMRMixerControl_FWD_DEFINED__ */
  757.  
  758.  
  759. #ifndef __IVMRMonitorConfig_FWD_DEFINED__
  760. #define __IVMRMonitorConfig_FWD_DEFINED__
  761. typedef interface IVMRMonitorConfig IVMRMonitorConfig;
  762. #endif     /* __IVMRMonitorConfig_FWD_DEFINED__ */
  763.  
  764.  
  765. #ifndef __IVMRFilterConfig_FWD_DEFINED__
  766. #define __IVMRFilterConfig_FWD_DEFINED__
  767. typedef interface IVMRFilterConfig IVMRFilterConfig;
  768. #endif     /* __IVMRFilterConfig_FWD_DEFINED__ */
  769.  
  770.  
  771. #ifndef __IVMRMixerBitmap_FWD_DEFINED__
  772. #define __IVMRMixerBitmap_FWD_DEFINED__
  773. typedef interface IVMRMixerBitmap IVMRMixerBitmap;
  774. #endif     /* __IVMRMixerBitmap_FWD_DEFINED__ */
  775.  
  776.  
  777. #ifndef __IVMRImageCompositor_FWD_DEFINED__
  778. #define __IVMRImageCompositor_FWD_DEFINED__
  779. typedef interface IVMRImageCompositor IVMRImageCompositor;
  780. #endif     /* __IVMRImageCompositor_FWD_DEFINED__ */
  781.  
  782.  
  783. #ifndef __IVMRVideoStreamControl_FWD_DEFINED__
  784. #define __IVMRVideoStreamControl_FWD_DEFINED__
  785. typedef interface IVMRVideoStreamControl IVMRVideoStreamControl;
  786. #endif     /* __IVMRVideoStreamControl_FWD_DEFINED__ */
  787.  
  788.  
  789. #ifndef __IVMRSurface_FWD_DEFINED__
  790. #define __IVMRSurface_FWD_DEFINED__
  791. typedef interface IVMRSurface IVMRSurface;
  792. #endif     /* __IVMRSurface_FWD_DEFINED__ */
  793.  
  794.  
  795. #ifndef __IVMRImagePresenterConfig_FWD_DEFINED__
  796. #define __IVMRImagePresenterConfig_FWD_DEFINED__
  797. typedef interface IVMRImagePresenterConfig IVMRImagePresenterConfig;
  798. #endif     /* __IVMRImagePresenterConfig_FWD_DEFINED__ */
  799.  
  800.  
  801. #ifndef __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  802. #define __IVMRImagePresenterExclModeConfig_FWD_DEFINED__
  803. typedef interface IVMRImagePresenterExclModeConfig IVMRImagePresenterExclModeConfig;
  804. #endif     /* __IVMRImagePresenterExclModeConfig_FWD_DEFINED__ */
  805.  
  806.  
  807. #ifndef __IVPManager_FWD_DEFINED__
  808. #define __IVPManager_FWD_DEFINED__
  809. typedef interface IVPManager IVPManager;
  810. #endif     /* __IVPManager_FWD_DEFINED__ */
  811.  
  812.  
  813. /* header files for imported files */
  814. #include "unknwn.h"
  815. #include "objidl.h"
  816. #include "oaidl.h"
  817. #include "ocidl.h"
  818.  
  819. #ifdef __cplusplus
  820. extern "C"{
  821. #endif 
  822.  
  823. void * __RPC_USER MIDL_user_allocate(size_t);
  824. void __RPC_USER MIDL_user_free( void * ); 
  825.  
  826. /* interface __MIDL_itf_strmif_0000 */
  827. /* [local] */ 
  828.  
  829. //+-------------------------------------------------------------------------
  830. //
  831. //  Copyright (C) Microsoft Corporation, 1999-2001.
  832. //
  833. //--------------------------------------------------------------------------
  834. // Disable /W4 compiler warning C4201: nameless struct/union
  835. #pragma warning(disable:4201)  // Disable C4201: nameless struct/union
  836.   
  837. #define CDEF_CLASS_DEFAULT      0x0001
  838. #define CDEF_BYPASS_CLASS_MANAGER   0x0002
  839. #define CDEF_MERIT_ABOVE_DO_NOT_USE  0x0008
  840. #define CDEF_DEVMON_CMGR_DEVICE  0x0010
  841. #define CDEF_DEVMON_DMO  0x0020
  842. #define CDEF_DEVMON_PNP_DEVICE  0x0040
  843. #define CDEF_DEVMON_FILTER  0x0080
  844. #define CDEF_DEVMON_SELECTIVE_MASK  0x00f0
  845.  
  846.  
  847. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_c_ifspec;
  848. extern RPC_IF_HANDLE __MIDL_itf_strmif_0000_v0_0_s_ifspec;
  849.  
  850. #ifndef __ICreateDevEnum_INTERFACE_DEFINED__
  851. #define __ICreateDevEnum_INTERFACE_DEFINED__
  852.  
  853. /* interface ICreateDevEnum */
  854. /* [unique][uuid][object] */ 
  855.  
  856.  
  857. EXTERN_C const IID IID_ICreateDevEnum;
  858.  
  859. #if defined(__cplusplus) && !defined(CINTERFACE)
  860.     
  861.     MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86")
  862.     ICreateDevEnum : public IUnknown
  863.     {
  864.     public:
  865.         virtual HRESULT STDMETHODCALLTYPE CreateClassEnumerator( 
  866.             /* [in] */ REFCLSID clsidDeviceClass,
  867.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  868.             /* [in] */ DWORD dwFlags) = 0;
  869.         
  870.     };
  871.     
  872. #else     /* C style interface */
  873.  
  874.     typedef struct ICreateDevEnumVtbl
  875.     {
  876.         BEGIN_INTERFACE
  877.         
  878.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  879.             ICreateDevEnum * This,
  880.             /* [in] */ REFIID riid,
  881.             /* [iid_is][out] */ void **ppvObject);
  882.         
  883.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  884.             ICreateDevEnum * This);
  885.         
  886.         ULONG ( STDMETHODCALLTYPE *Release )( 
  887.             ICreateDevEnum * This);
  888.         
  889.         HRESULT ( STDMETHODCALLTYPE *CreateClassEnumerator )( 
  890.             ICreateDevEnum * This,
  891.             /* [in] */ REFCLSID clsidDeviceClass,
  892.             /* [out] */ IEnumMoniker **ppEnumMoniker,
  893.             /* [in] */ DWORD dwFlags);
  894.         
  895.         END_INTERFACE
  896.     } ICreateDevEnumVtbl;
  897.  
  898.     interface ICreateDevEnum
  899.     {
  900.         CONST_VTBL struct ICreateDevEnumVtbl *lpVtbl;
  901.     };
  902.  
  903.     
  904.  
  905. #ifdef COBJMACROS
  906.  
  907.  
  908. #define ICreateDevEnum_QueryInterface(This,riid,ppvObject)    \
  909.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  910.  
  911. #define ICreateDevEnum_AddRef(This)    \
  912.     (This)->lpVtbl -> AddRef(This)
  913.  
  914. #define ICreateDevEnum_Release(This)    \
  915.     (This)->lpVtbl -> Release(This)
  916.  
  917.  
  918. #define ICreateDevEnum_CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)    \
  919.     (This)->lpVtbl -> CreateClassEnumerator(This,clsidDeviceClass,ppEnumMoniker,dwFlags)
  920.  
  921. #endif /* COBJMACROS */
  922.  
  923.  
  924. #endif     /* C style interface */
  925.  
  926.  
  927.  
  928. HRESULT STDMETHODCALLTYPE ICreateDevEnum_CreateClassEnumerator_Proxy( 
  929.     ICreateDevEnum * This,
  930.     /* [in] */ REFCLSID clsidDeviceClass,
  931.     /* [out] */ IEnumMoniker **ppEnumMoniker,
  932.     /* [in] */ DWORD dwFlags);
  933.  
  934.  
  935. void __RPC_STUB ICreateDevEnum_CreateClassEnumerator_Stub(
  936.     IRpcStubBuffer *This,
  937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  938.     PRPC_MESSAGE _pRpcMessage,
  939.     DWORD *_pdwStubPhase);
  940.  
  941.  
  942.  
  943. #endif     /* __ICreateDevEnum_INTERFACE_DEFINED__ */
  944.  
  945.  
  946. /* interface __MIDL_itf_strmif_0112 */
  947. /* [local] */ 
  948.  
  949. #define CHARS_IN_GUID     39
  950. typedef struct _AMMediaType
  951.     {
  952.     GUID majortype;
  953.     GUID subtype;
  954.     BOOL bFixedSizeSamples;
  955.     BOOL bTemporalCompression;
  956.     ULONG lSampleSize;
  957.     GUID formattype;
  958.     IUnknown *pUnk;
  959.     ULONG cbFormat;
  960.     /* [size_is] */ BYTE *pbFormat;
  961.     }     AM_MEDIA_TYPE;
  962.  
  963. typedef 
  964. enum _PinDirection
  965.     {    PINDIR_INPUT    = 0,
  966.     PINDIR_OUTPUT    = PINDIR_INPUT + 1
  967.     }     PIN_DIRECTION;
  968.  
  969. #define MAX_PIN_NAME     128
  970. #define MAX_FILTER_NAME  128
  971. typedef LONGLONG REFERENCE_TIME;
  972.  
  973. typedef double REFTIME;
  974.  
  975. typedef DWORD_PTR HSEMAPHORE;
  976.  
  977. typedef DWORD_PTR HEVENT;
  978.  
  979. typedef struct _AllocatorProperties
  980.     {
  981.     long cBuffers;
  982.     long cbBuffer;
  983.     long cbAlign;
  984.     long cbPrefix;
  985.     }     ALLOCATOR_PROPERTIES;
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_c_ifspec;
  1004. extern RPC_IF_HANDLE __MIDL_itf_strmif_0112_v0_0_s_ifspec;
  1005.  
  1006. #ifndef __IPin_INTERFACE_DEFINED__
  1007. #define __IPin_INTERFACE_DEFINED__
  1008.  
  1009. /* interface IPin */
  1010. /* [unique][uuid][object] */ 
  1011.  
  1012. typedef struct _PinInfo
  1013.     {
  1014.     IBaseFilter *pFilter;
  1015.     PIN_DIRECTION dir;
  1016.     WCHAR achName[ 128 ];
  1017.     }     PIN_INFO;
  1018.  
  1019.  
  1020. EXTERN_C const IID IID_IPin;
  1021.  
  1022. #if defined(__cplusplus) && !defined(CINTERFACE)
  1023.     
  1024.     MIDL_INTERFACE("56a86891-0ad4-11ce-b03a-0020af0ba770")
  1025.     IPin : public IUnknown
  1026.     {
  1027.     public:
  1028.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  1029.             /* [in] */ IPin *pReceivePin,
  1030.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1031.         
  1032.         virtual HRESULT STDMETHODCALLTYPE ReceiveConnection( 
  1033.             /* [in] */ IPin *pConnector,
  1034.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1035.         
  1036.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  1037.         
  1038.         virtual HRESULT STDMETHODCALLTYPE ConnectedTo( 
  1039.             /* [out] */ IPin **pPin) = 0;
  1040.         
  1041.         virtual HRESULT STDMETHODCALLTYPE ConnectionMediaType( 
  1042.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  1043.         
  1044.         virtual HRESULT STDMETHODCALLTYPE QueryPinInfo( 
  1045.             /* [out] */ PIN_INFO *pInfo) = 0;
  1046.         
  1047.         virtual HRESULT STDMETHODCALLTYPE QueryDirection( 
  1048.             /* [out] */ PIN_DIRECTION *pPinDir) = 0;
  1049.         
  1050.         virtual HRESULT STDMETHODCALLTYPE QueryId( 
  1051.             /* [out] */ LPWSTR *Id) = 0;
  1052.         
  1053.         virtual HRESULT STDMETHODCALLTYPE QueryAccept( 
  1054.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1055.         
  1056.         virtual HRESULT STDMETHODCALLTYPE EnumMediaTypes( 
  1057.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1058.         
  1059.         virtual HRESULT STDMETHODCALLTYPE QueryInternalConnections( 
  1060.             /* [out] */ IPin **apPin,
  1061.             /* [out][in] */ ULONG *nPin) = 0;
  1062.         
  1063.         virtual HRESULT STDMETHODCALLTYPE EndOfStream( void) = 0;
  1064.         
  1065.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  1066.         
  1067.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  1068.         
  1069.         virtual HRESULT STDMETHODCALLTYPE NewSegment( 
  1070.             /* [in] */ REFERENCE_TIME tStart,
  1071.             /* [in] */ REFERENCE_TIME tStop,
  1072.             /* [in] */ double dRate) = 0;
  1073.         
  1074.     };
  1075.     
  1076. #else     /* C style interface */
  1077.  
  1078.     typedef struct IPinVtbl
  1079.     {
  1080.         BEGIN_INTERFACE
  1081.         
  1082.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1083.             IPin * This,
  1084.             /* [in] */ REFIID riid,
  1085.             /* [iid_is][out] */ void **ppvObject);
  1086.         
  1087.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1088.             IPin * This);
  1089.         
  1090.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1091.             IPin * This);
  1092.         
  1093.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  1094.             IPin * This,
  1095.             /* [in] */ IPin *pReceivePin,
  1096.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1097.         
  1098.         HRESULT ( STDMETHODCALLTYPE *ReceiveConnection )( 
  1099.             IPin * This,
  1100.             /* [in] */ IPin *pConnector,
  1101.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1102.         
  1103.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1104.             IPin * This);
  1105.         
  1106.         HRESULT ( STDMETHODCALLTYPE *ConnectedTo )( 
  1107.             IPin * This,
  1108.             /* [out] */ IPin **pPin);
  1109.         
  1110.         HRESULT ( STDMETHODCALLTYPE *ConnectionMediaType )( 
  1111.             IPin * This,
  1112.             /* [out] */ AM_MEDIA_TYPE *pmt);
  1113.         
  1114.         HRESULT ( STDMETHODCALLTYPE *QueryPinInfo )( 
  1115.             IPin * This,
  1116.             /* [out] */ PIN_INFO *pInfo);
  1117.         
  1118.         HRESULT ( STDMETHODCALLTYPE *QueryDirection )( 
  1119.             IPin * This,
  1120.             /* [out] */ PIN_DIRECTION *pPinDir);
  1121.         
  1122.         HRESULT ( STDMETHODCALLTYPE *QueryId )( 
  1123.             IPin * This,
  1124.             /* [out] */ LPWSTR *Id);
  1125.         
  1126.         HRESULT ( STDMETHODCALLTYPE *QueryAccept )( 
  1127.             IPin * This,
  1128.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  1129.         
  1130.         HRESULT ( STDMETHODCALLTYPE *EnumMediaTypes )( 
  1131.             IPin * This,
  1132.             /* [out] */ IEnumMediaTypes **ppEnum);
  1133.         
  1134.         HRESULT ( STDMETHODCALLTYPE *QueryInternalConnections )( 
  1135.             IPin * This,
  1136.             /* [out] */ IPin **apPin,
  1137.             /* [out][in] */ ULONG *nPin);
  1138.         
  1139.         HRESULT ( STDMETHODCALLTYPE *EndOfStream )( 
  1140.             IPin * This);
  1141.         
  1142.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  1143.             IPin * This);
  1144.         
  1145.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  1146.             IPin * This);
  1147.         
  1148.         HRESULT ( STDMETHODCALLTYPE *NewSegment )( 
  1149.             IPin * This,
  1150.             /* [in] */ REFERENCE_TIME tStart,
  1151.             /* [in] */ REFERENCE_TIME tStop,
  1152.             /* [in] */ double dRate);
  1153.         
  1154.         END_INTERFACE
  1155.     } IPinVtbl;
  1156.  
  1157.     interface IPin
  1158.     {
  1159.         CONST_VTBL struct IPinVtbl *lpVtbl;
  1160.     };
  1161.  
  1162.     
  1163.  
  1164. #ifdef COBJMACROS
  1165.  
  1166.  
  1167. #define IPin_QueryInterface(This,riid,ppvObject)    \
  1168.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1169.  
  1170. #define IPin_AddRef(This)    \
  1171.     (This)->lpVtbl -> AddRef(This)
  1172.  
  1173. #define IPin_Release(This)    \
  1174.     (This)->lpVtbl -> Release(This)
  1175.  
  1176.  
  1177. #define IPin_Connect(This,pReceivePin,pmt)    \
  1178.     (This)->lpVtbl -> Connect(This,pReceivePin,pmt)
  1179.  
  1180. #define IPin_ReceiveConnection(This,pConnector,pmt)    \
  1181.     (This)->lpVtbl -> ReceiveConnection(This,pConnector,pmt)
  1182.  
  1183. #define IPin_Disconnect(This)    \
  1184.     (This)->lpVtbl -> Disconnect(This)
  1185.  
  1186. #define IPin_ConnectedTo(This,pPin)    \
  1187.     (This)->lpVtbl -> ConnectedTo(This,pPin)
  1188.  
  1189. #define IPin_ConnectionMediaType(This,pmt)    \
  1190.     (This)->lpVtbl -> ConnectionMediaType(This,pmt)
  1191.  
  1192. #define IPin_QueryPinInfo(This,pInfo)    \
  1193.     (This)->lpVtbl -> QueryPinInfo(This,pInfo)
  1194.  
  1195. #define IPin_QueryDirection(This,pPinDir)    \
  1196.     (This)->lpVtbl -> QueryDirection(This,pPinDir)
  1197.  
  1198. #define IPin_QueryId(This,Id)    \
  1199.     (This)->lpVtbl -> QueryId(This,Id)
  1200.  
  1201. #define IPin_QueryAccept(This,pmt)    \
  1202.     (This)->lpVtbl -> QueryAccept(This,pmt)
  1203.  
  1204. #define IPin_EnumMediaTypes(This,ppEnum)    \
  1205.     (This)->lpVtbl -> EnumMediaTypes(This,ppEnum)
  1206.  
  1207. #define IPin_QueryInternalConnections(This,apPin,nPin)    \
  1208.     (This)->lpVtbl -> QueryInternalConnections(This,apPin,nPin)
  1209.  
  1210. #define IPin_EndOfStream(This)    \
  1211.     (This)->lpVtbl -> EndOfStream(This)
  1212.  
  1213. #define IPin_BeginFlush(This)    \
  1214.     (This)->lpVtbl -> BeginFlush(This)
  1215.  
  1216. #define IPin_EndFlush(This)    \
  1217.     (This)->lpVtbl -> EndFlush(This)
  1218.  
  1219. #define IPin_NewSegment(This,tStart,tStop,dRate)    \
  1220.     (This)->lpVtbl -> NewSegment(This,tStart,tStop,dRate)
  1221.  
  1222. #endif /* COBJMACROS */
  1223.  
  1224.  
  1225. #endif     /* C style interface */
  1226.  
  1227.  
  1228.  
  1229. HRESULT STDMETHODCALLTYPE IPin_Connect_Proxy( 
  1230.     IPin * This,
  1231.     /* [in] */ IPin *pReceivePin,
  1232.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1233.  
  1234.  
  1235. void __RPC_STUB IPin_Connect_Stub(
  1236.     IRpcStubBuffer *This,
  1237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1238.     PRPC_MESSAGE _pRpcMessage,
  1239.     DWORD *_pdwStubPhase);
  1240.  
  1241.  
  1242. HRESULT STDMETHODCALLTYPE IPin_ReceiveConnection_Proxy( 
  1243.     IPin * This,
  1244.     /* [in] */ IPin *pConnector,
  1245.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1246.  
  1247.  
  1248. void __RPC_STUB IPin_ReceiveConnection_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253.  
  1254.  
  1255. HRESULT STDMETHODCALLTYPE IPin_Disconnect_Proxy( 
  1256.     IPin * This);
  1257.  
  1258.  
  1259. void __RPC_STUB IPin_Disconnect_Stub(
  1260.     IRpcStubBuffer *This,
  1261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1262.     PRPC_MESSAGE _pRpcMessage,
  1263.     DWORD *_pdwStubPhase);
  1264.  
  1265.  
  1266. HRESULT STDMETHODCALLTYPE IPin_ConnectedTo_Proxy( 
  1267.     IPin * This,
  1268.     /* [out] */ IPin **pPin);
  1269.  
  1270.  
  1271. void __RPC_STUB IPin_ConnectedTo_Stub(
  1272.     IRpcStubBuffer *This,
  1273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1274.     PRPC_MESSAGE _pRpcMessage,
  1275.     DWORD *_pdwStubPhase);
  1276.  
  1277.  
  1278. HRESULT STDMETHODCALLTYPE IPin_ConnectionMediaType_Proxy( 
  1279.     IPin * This,
  1280.     /* [out] */ AM_MEDIA_TYPE *pmt);
  1281.  
  1282.  
  1283. void __RPC_STUB IPin_ConnectionMediaType_Stub(
  1284.     IRpcStubBuffer *This,
  1285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1286.     PRPC_MESSAGE _pRpcMessage,
  1287.     DWORD *_pdwStubPhase);
  1288.  
  1289.  
  1290. HRESULT STDMETHODCALLTYPE IPin_QueryPinInfo_Proxy( 
  1291.     IPin * This,
  1292.     /* [out] */ PIN_INFO *pInfo);
  1293.  
  1294.  
  1295. void __RPC_STUB IPin_QueryPinInfo_Stub(
  1296.     IRpcStubBuffer *This,
  1297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1298.     PRPC_MESSAGE _pRpcMessage,
  1299.     DWORD *_pdwStubPhase);
  1300.  
  1301.  
  1302. HRESULT STDMETHODCALLTYPE IPin_QueryDirection_Proxy( 
  1303.     IPin * This,
  1304.     /* [out] */ PIN_DIRECTION *pPinDir);
  1305.  
  1306.  
  1307. void __RPC_STUB IPin_QueryDirection_Stub(
  1308.     IRpcStubBuffer *This,
  1309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1310.     PRPC_MESSAGE _pRpcMessage,
  1311.     DWORD *_pdwStubPhase);
  1312.  
  1313.  
  1314. HRESULT STDMETHODCALLTYPE IPin_QueryId_Proxy( 
  1315.     IPin * This,
  1316.     /* [out] */ LPWSTR *Id);
  1317.  
  1318.  
  1319. void __RPC_STUB IPin_QueryId_Stub(
  1320.     IRpcStubBuffer *This,
  1321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1322.     PRPC_MESSAGE _pRpcMessage,
  1323.     DWORD *_pdwStubPhase);
  1324.  
  1325.  
  1326. HRESULT STDMETHODCALLTYPE IPin_QueryAccept_Proxy( 
  1327.     IPin * This,
  1328.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  1329.  
  1330.  
  1331. void __RPC_STUB IPin_QueryAccept_Stub(
  1332.     IRpcStubBuffer *This,
  1333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1334.     PRPC_MESSAGE _pRpcMessage,
  1335.     DWORD *_pdwStubPhase);
  1336.  
  1337.  
  1338. HRESULT STDMETHODCALLTYPE IPin_EnumMediaTypes_Proxy( 
  1339.     IPin * This,
  1340.     /* [out] */ IEnumMediaTypes **ppEnum);
  1341.  
  1342.  
  1343. void __RPC_STUB IPin_EnumMediaTypes_Stub(
  1344.     IRpcStubBuffer *This,
  1345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1346.     PRPC_MESSAGE _pRpcMessage,
  1347.     DWORD *_pdwStubPhase);
  1348.  
  1349.  
  1350. HRESULT STDMETHODCALLTYPE IPin_QueryInternalConnections_Proxy( 
  1351.     IPin * This,
  1352.     /* [out] */ IPin **apPin,
  1353.     /* [out][in] */ ULONG *nPin);
  1354.  
  1355.  
  1356. void __RPC_STUB IPin_QueryInternalConnections_Stub(
  1357.     IRpcStubBuffer *This,
  1358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1359.     PRPC_MESSAGE _pRpcMessage,
  1360.     DWORD *_pdwStubPhase);
  1361.  
  1362.  
  1363. HRESULT STDMETHODCALLTYPE IPin_EndOfStream_Proxy( 
  1364.     IPin * This);
  1365.  
  1366.  
  1367. void __RPC_STUB IPin_EndOfStream_Stub(
  1368.     IRpcStubBuffer *This,
  1369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1370.     PRPC_MESSAGE _pRpcMessage,
  1371.     DWORD *_pdwStubPhase);
  1372.  
  1373.  
  1374. HRESULT STDMETHODCALLTYPE IPin_BeginFlush_Proxy( 
  1375.     IPin * This);
  1376.  
  1377.  
  1378. void __RPC_STUB IPin_BeginFlush_Stub(
  1379.     IRpcStubBuffer *This,
  1380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1381.     PRPC_MESSAGE _pRpcMessage,
  1382.     DWORD *_pdwStubPhase);
  1383.  
  1384.  
  1385. HRESULT STDMETHODCALLTYPE IPin_EndFlush_Proxy( 
  1386.     IPin * This);
  1387.  
  1388.  
  1389. void __RPC_STUB IPin_EndFlush_Stub(
  1390.     IRpcStubBuffer *This,
  1391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1392.     PRPC_MESSAGE _pRpcMessage,
  1393.     DWORD *_pdwStubPhase);
  1394.  
  1395.  
  1396. HRESULT STDMETHODCALLTYPE IPin_NewSegment_Proxy( 
  1397.     IPin * This,
  1398.     /* [in] */ REFERENCE_TIME tStart,
  1399.     /* [in] */ REFERENCE_TIME tStop,
  1400.     /* [in] */ double dRate);
  1401.  
  1402.  
  1403. void __RPC_STUB IPin_NewSegment_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408.  
  1409.  
  1410.  
  1411. #endif     /* __IPin_INTERFACE_DEFINED__ */
  1412.  
  1413.  
  1414. /* interface __MIDL_itf_strmif_0113 */
  1415. /* [local] */ 
  1416.  
  1417. typedef IPin *PPIN;
  1418.  
  1419.  
  1420.  
  1421. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_c_ifspec;
  1422. extern RPC_IF_HANDLE __MIDL_itf_strmif_0113_v0_0_s_ifspec;
  1423.  
  1424. #ifndef __IEnumPins_INTERFACE_DEFINED__
  1425. #define __IEnumPins_INTERFACE_DEFINED__
  1426.  
  1427. /* interface IEnumPins */
  1428. /* [unique][uuid][object] */ 
  1429.  
  1430.  
  1431. EXTERN_C const IID IID_IEnumPins;
  1432.  
  1433. #if defined(__cplusplus) && !defined(CINTERFACE)
  1434.     
  1435.     MIDL_INTERFACE("56a86892-0ad4-11ce-b03a-0020af0ba770")
  1436.     IEnumPins : public IUnknown
  1437.     {
  1438.     public:
  1439.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1440.             /* [in] */ ULONG cPins,
  1441.             /* [size_is][out] */ IPin **ppPins,
  1442.             /* [out] */ ULONG *pcFetched) = 0;
  1443.         
  1444.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1445.             /* [in] */ ULONG cPins) = 0;
  1446.         
  1447.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1448.         
  1449.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1450.             /* [out] */ IEnumPins **ppEnum) = 0;
  1451.         
  1452.     };
  1453.     
  1454. #else     /* C style interface */
  1455.  
  1456.     typedef struct IEnumPinsVtbl
  1457.     {
  1458.         BEGIN_INTERFACE
  1459.         
  1460.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1461.             IEnumPins * This,
  1462.             /* [in] */ REFIID riid,
  1463.             /* [iid_is][out] */ void **ppvObject);
  1464.         
  1465.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1466.             IEnumPins * This);
  1467.         
  1468.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1469.             IEnumPins * This);
  1470.         
  1471.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1472.             IEnumPins * This,
  1473.             /* [in] */ ULONG cPins,
  1474.             /* [size_is][out] */ IPin **ppPins,
  1475.             /* [out] */ ULONG *pcFetched);
  1476.         
  1477.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1478.             IEnumPins * This,
  1479.             /* [in] */ ULONG cPins);
  1480.         
  1481.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1482.             IEnumPins * This);
  1483.         
  1484.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1485.             IEnumPins * This,
  1486.             /* [out] */ IEnumPins **ppEnum);
  1487.         
  1488.         END_INTERFACE
  1489.     } IEnumPinsVtbl;
  1490.  
  1491.     interface IEnumPins
  1492.     {
  1493.         CONST_VTBL struct IEnumPinsVtbl *lpVtbl;
  1494.     };
  1495.  
  1496.     
  1497.  
  1498. #ifdef COBJMACROS
  1499.  
  1500.  
  1501. #define IEnumPins_QueryInterface(This,riid,ppvObject)    \
  1502.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1503.  
  1504. #define IEnumPins_AddRef(This)    \
  1505.     (This)->lpVtbl -> AddRef(This)
  1506.  
  1507. #define IEnumPins_Release(This)    \
  1508.     (This)->lpVtbl -> Release(This)
  1509.  
  1510.  
  1511. #define IEnumPins_Next(This,cPins,ppPins,pcFetched)    \
  1512.     (This)->lpVtbl -> Next(This,cPins,ppPins,pcFetched)
  1513.  
  1514. #define IEnumPins_Skip(This,cPins)    \
  1515.     (This)->lpVtbl -> Skip(This,cPins)
  1516.  
  1517. #define IEnumPins_Reset(This)    \
  1518.     (This)->lpVtbl -> Reset(This)
  1519.  
  1520. #define IEnumPins_Clone(This,ppEnum)    \
  1521.     (This)->lpVtbl -> Clone(This,ppEnum)
  1522.  
  1523. #endif /* COBJMACROS */
  1524.  
  1525.  
  1526. #endif     /* C style interface */
  1527.  
  1528.  
  1529.  
  1530. HRESULT STDMETHODCALLTYPE IEnumPins_Next_Proxy( 
  1531.     IEnumPins * This,
  1532.     /* [in] */ ULONG cPins,
  1533.     /* [size_is][out] */ IPin **ppPins,
  1534.     /* [out] */ ULONG *pcFetched);
  1535.  
  1536.  
  1537. void __RPC_STUB IEnumPins_Next_Stub(
  1538.     IRpcStubBuffer *This,
  1539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1540.     PRPC_MESSAGE _pRpcMessage,
  1541.     DWORD *_pdwStubPhase);
  1542.  
  1543.  
  1544. HRESULT STDMETHODCALLTYPE IEnumPins_Skip_Proxy( 
  1545.     IEnumPins * This,
  1546.     /* [in] */ ULONG cPins);
  1547.  
  1548.  
  1549. void __RPC_STUB IEnumPins_Skip_Stub(
  1550.     IRpcStubBuffer *This,
  1551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1552.     PRPC_MESSAGE _pRpcMessage,
  1553.     DWORD *_pdwStubPhase);
  1554.  
  1555.  
  1556. HRESULT STDMETHODCALLTYPE IEnumPins_Reset_Proxy( 
  1557.     IEnumPins * This);
  1558.  
  1559.  
  1560. void __RPC_STUB IEnumPins_Reset_Stub(
  1561.     IRpcStubBuffer *This,
  1562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1563.     PRPC_MESSAGE _pRpcMessage,
  1564.     DWORD *_pdwStubPhase);
  1565.  
  1566.  
  1567. HRESULT STDMETHODCALLTYPE IEnumPins_Clone_Proxy( 
  1568.     IEnumPins * This,
  1569.     /* [out] */ IEnumPins **ppEnum);
  1570.  
  1571.  
  1572. void __RPC_STUB IEnumPins_Clone_Stub(
  1573.     IRpcStubBuffer *This,
  1574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1575.     PRPC_MESSAGE _pRpcMessage,
  1576.     DWORD *_pdwStubPhase);
  1577.  
  1578.  
  1579.  
  1580. #endif     /* __IEnumPins_INTERFACE_DEFINED__ */
  1581.  
  1582.  
  1583. /* interface __MIDL_itf_strmif_0114 */
  1584. /* [local] */ 
  1585.  
  1586. typedef IEnumPins *PENUMPINS;
  1587.  
  1588.  
  1589.  
  1590. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_c_ifspec;
  1591. extern RPC_IF_HANDLE __MIDL_itf_strmif_0114_v0_0_s_ifspec;
  1592.  
  1593. #ifndef __IEnumMediaTypes_INTERFACE_DEFINED__
  1594. #define __IEnumMediaTypes_INTERFACE_DEFINED__
  1595.  
  1596. /* interface IEnumMediaTypes */
  1597. /* [unique][uuid][object] */ 
  1598.  
  1599.  
  1600. EXTERN_C const IID IID_IEnumMediaTypes;
  1601.  
  1602. #if defined(__cplusplus) && !defined(CINTERFACE)
  1603.     
  1604.     MIDL_INTERFACE("89c31040-846b-11ce-97d3-00aa0055595a")
  1605.     IEnumMediaTypes : public IUnknown
  1606.     {
  1607.     public:
  1608.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1609.             /* [in] */ ULONG cMediaTypes,
  1610.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1611.             /* [out] */ ULONG *pcFetched) = 0;
  1612.         
  1613.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1614.             /* [in] */ ULONG cMediaTypes) = 0;
  1615.         
  1616.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1617.         
  1618.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1619.             /* [out] */ IEnumMediaTypes **ppEnum) = 0;
  1620.         
  1621.     };
  1622.     
  1623. #else     /* C style interface */
  1624.  
  1625.     typedef struct IEnumMediaTypesVtbl
  1626.     {
  1627.         BEGIN_INTERFACE
  1628.         
  1629.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1630.             IEnumMediaTypes * This,
  1631.             /* [in] */ REFIID riid,
  1632.             /* [iid_is][out] */ void **ppvObject);
  1633.         
  1634.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1635.             IEnumMediaTypes * This);
  1636.         
  1637.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1638.             IEnumMediaTypes * This);
  1639.         
  1640.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1641.             IEnumMediaTypes * This,
  1642.             /* [in] */ ULONG cMediaTypes,
  1643.             /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1644.             /* [out] */ ULONG *pcFetched);
  1645.         
  1646.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1647.             IEnumMediaTypes * This,
  1648.             /* [in] */ ULONG cMediaTypes);
  1649.         
  1650.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1651.             IEnumMediaTypes * This);
  1652.         
  1653.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1654.             IEnumMediaTypes * This,
  1655.             /* [out] */ IEnumMediaTypes **ppEnum);
  1656.         
  1657.         END_INTERFACE
  1658.     } IEnumMediaTypesVtbl;
  1659.  
  1660.     interface IEnumMediaTypes
  1661.     {
  1662.         CONST_VTBL struct IEnumMediaTypesVtbl *lpVtbl;
  1663.     };
  1664.  
  1665.     
  1666.  
  1667. #ifdef COBJMACROS
  1668.  
  1669.  
  1670. #define IEnumMediaTypes_QueryInterface(This,riid,ppvObject)    \
  1671.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1672.  
  1673. #define IEnumMediaTypes_AddRef(This)    \
  1674.     (This)->lpVtbl -> AddRef(This)
  1675.  
  1676. #define IEnumMediaTypes_Release(This)    \
  1677.     (This)->lpVtbl -> Release(This)
  1678.  
  1679.  
  1680. #define IEnumMediaTypes_Next(This,cMediaTypes,ppMediaTypes,pcFetched)    \
  1681.     (This)->lpVtbl -> Next(This,cMediaTypes,ppMediaTypes,pcFetched)
  1682.  
  1683. #define IEnumMediaTypes_Skip(This,cMediaTypes)    \
  1684.     (This)->lpVtbl -> Skip(This,cMediaTypes)
  1685.  
  1686. #define IEnumMediaTypes_Reset(This)    \
  1687.     (This)->lpVtbl -> Reset(This)
  1688.  
  1689. #define IEnumMediaTypes_Clone(This,ppEnum)    \
  1690.     (This)->lpVtbl -> Clone(This,ppEnum)
  1691.  
  1692. #endif /* COBJMACROS */
  1693.  
  1694.  
  1695. #endif     /* C style interface */
  1696.  
  1697.  
  1698.  
  1699. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Next_Proxy( 
  1700.     IEnumMediaTypes * This,
  1701.     /* [in] */ ULONG cMediaTypes,
  1702.     /* [size_is][out] */ AM_MEDIA_TYPE **ppMediaTypes,
  1703.     /* [out] */ ULONG *pcFetched);
  1704.  
  1705.  
  1706. void __RPC_STUB IEnumMediaTypes_Next_Stub(
  1707.     IRpcStubBuffer *This,
  1708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1709.     PRPC_MESSAGE _pRpcMessage,
  1710.     DWORD *_pdwStubPhase);
  1711.  
  1712.  
  1713. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Skip_Proxy( 
  1714.     IEnumMediaTypes * This,
  1715.     /* [in] */ ULONG cMediaTypes);
  1716.  
  1717.  
  1718. void __RPC_STUB IEnumMediaTypes_Skip_Stub(
  1719.     IRpcStubBuffer *This,
  1720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1721.     PRPC_MESSAGE _pRpcMessage,
  1722.     DWORD *_pdwStubPhase);
  1723.  
  1724.  
  1725. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Reset_Proxy( 
  1726.     IEnumMediaTypes * This);
  1727.  
  1728.  
  1729. void __RPC_STUB IEnumMediaTypes_Reset_Stub(
  1730.     IRpcStubBuffer *This,
  1731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1732.     PRPC_MESSAGE _pRpcMessage,
  1733.     DWORD *_pdwStubPhase);
  1734.  
  1735.  
  1736. HRESULT STDMETHODCALLTYPE IEnumMediaTypes_Clone_Proxy( 
  1737.     IEnumMediaTypes * This,
  1738.     /* [out] */ IEnumMediaTypes **ppEnum);
  1739.  
  1740.  
  1741. void __RPC_STUB IEnumMediaTypes_Clone_Stub(
  1742.     IRpcStubBuffer *This,
  1743.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1744.     PRPC_MESSAGE _pRpcMessage,
  1745.     DWORD *_pdwStubPhase);
  1746.  
  1747.  
  1748.  
  1749. #endif     /* __IEnumMediaTypes_INTERFACE_DEFINED__ */
  1750.  
  1751.  
  1752. /* interface __MIDL_itf_strmif_0115 */
  1753. /* [local] */ 
  1754.  
  1755. typedef IEnumMediaTypes *PENUMMEDIATYPES;
  1756.  
  1757.  
  1758.  
  1759. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_c_ifspec;
  1760. extern RPC_IF_HANDLE __MIDL_itf_strmif_0115_v0_0_s_ifspec;
  1761.  
  1762. #ifndef __IFilterGraph_INTERFACE_DEFINED__
  1763. #define __IFilterGraph_INTERFACE_DEFINED__
  1764.  
  1765. /* interface IFilterGraph */
  1766. /* [unique][uuid][object] */ 
  1767.  
  1768.  
  1769. EXTERN_C const IID IID_IFilterGraph;
  1770.  
  1771. #if defined(__cplusplus) && !defined(CINTERFACE)
  1772.     
  1773.     MIDL_INTERFACE("56a8689f-0ad4-11ce-b03a-0020af0ba770")
  1774.     IFilterGraph : public IUnknown
  1775.     {
  1776.     public:
  1777.         virtual HRESULT STDMETHODCALLTYPE AddFilter( 
  1778.             /* [in] */ IBaseFilter *pFilter,
  1779.             /* [string][in] */ LPCWSTR pName) = 0;
  1780.         
  1781.         virtual HRESULT STDMETHODCALLTYPE RemoveFilter( 
  1782.             /* [in] */ IBaseFilter *pFilter) = 0;
  1783.         
  1784.         virtual HRESULT STDMETHODCALLTYPE EnumFilters( 
  1785.             /* [out] */ IEnumFilters **ppEnum) = 0;
  1786.         
  1787.         virtual HRESULT STDMETHODCALLTYPE FindFilterByName( 
  1788.             /* [string][in] */ LPCWSTR pName,
  1789.             /* [out] */ IBaseFilter **ppFilter) = 0;
  1790.         
  1791.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  1792.             /* [in] */ IPin *ppinOut,
  1793.             /* [in] */ IPin *ppinIn,
  1794.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  1795.         
  1796.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  1797.             /* [in] */ IPin *ppin) = 0;
  1798.         
  1799.         virtual HRESULT STDMETHODCALLTYPE Disconnect( 
  1800.             /* [in] */ IPin *ppin) = 0;
  1801.         
  1802.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSyncSource( void) = 0;
  1803.         
  1804.     };
  1805.     
  1806. #else     /* C style interface */
  1807.  
  1808.     typedef struct IFilterGraphVtbl
  1809.     {
  1810.         BEGIN_INTERFACE
  1811.         
  1812.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1813.             IFilterGraph * This,
  1814.             /* [in] */ REFIID riid,
  1815.             /* [iid_is][out] */ void **ppvObject);
  1816.         
  1817.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1818.             IFilterGraph * This);
  1819.         
  1820.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1821.             IFilterGraph * This);
  1822.         
  1823.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  1824.             IFilterGraph * This,
  1825.             /* [in] */ IBaseFilter *pFilter,
  1826.             /* [string][in] */ LPCWSTR pName);
  1827.         
  1828.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  1829.             IFilterGraph * This,
  1830.             /* [in] */ IBaseFilter *pFilter);
  1831.         
  1832.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  1833.             IFilterGraph * This,
  1834.             /* [out] */ IEnumFilters **ppEnum);
  1835.         
  1836.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  1837.             IFilterGraph * This,
  1838.             /* [string][in] */ LPCWSTR pName,
  1839.             /* [out] */ IBaseFilter **ppFilter);
  1840.         
  1841.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  1842.             IFilterGraph * This,
  1843.             /* [in] */ IPin *ppinOut,
  1844.             /* [in] */ IPin *ppinIn,
  1845.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1846.         
  1847.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  1848.             IFilterGraph * This,
  1849.             /* [in] */ IPin *ppin);
  1850.         
  1851.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  1852.             IFilterGraph * This,
  1853.             /* [in] */ IPin *ppin);
  1854.         
  1855.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  1856.             IFilterGraph * This);
  1857.         
  1858.         END_INTERFACE
  1859.     } IFilterGraphVtbl;
  1860.  
  1861.     interface IFilterGraph
  1862.     {
  1863.         CONST_VTBL struct IFilterGraphVtbl *lpVtbl;
  1864.     };
  1865.  
  1866.     
  1867.  
  1868. #ifdef COBJMACROS
  1869.  
  1870.  
  1871. #define IFilterGraph_QueryInterface(This,riid,ppvObject)    \
  1872.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1873.  
  1874. #define IFilterGraph_AddRef(This)    \
  1875.     (This)->lpVtbl -> AddRef(This)
  1876.  
  1877. #define IFilterGraph_Release(This)    \
  1878.     (This)->lpVtbl -> Release(This)
  1879.  
  1880.  
  1881. #define IFilterGraph_AddFilter(This,pFilter,pName)    \
  1882.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  1883.  
  1884. #define IFilterGraph_RemoveFilter(This,pFilter)    \
  1885.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  1886.  
  1887. #define IFilterGraph_EnumFilters(This,ppEnum)    \
  1888.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  1889.  
  1890. #define IFilterGraph_FindFilterByName(This,pName,ppFilter)    \
  1891.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  1892.  
  1893. #define IFilterGraph_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  1894.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  1895.  
  1896. #define IFilterGraph_Reconnect(This,ppin)    \
  1897.     (This)->lpVtbl -> Reconnect(This,ppin)
  1898.  
  1899. #define IFilterGraph_Disconnect(This,ppin)    \
  1900.     (This)->lpVtbl -> Disconnect(This,ppin)
  1901.  
  1902. #define IFilterGraph_SetDefaultSyncSource(This)    \
  1903.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  1904.  
  1905. #endif /* COBJMACROS */
  1906.  
  1907.  
  1908. #endif     /* C style interface */
  1909.  
  1910.  
  1911.  
  1912. HRESULT STDMETHODCALLTYPE IFilterGraph_AddFilter_Proxy( 
  1913.     IFilterGraph * This,
  1914.     /* [in] */ IBaseFilter *pFilter,
  1915.     /* [string][in] */ LPCWSTR pName);
  1916.  
  1917.  
  1918. void __RPC_STUB IFilterGraph_AddFilter_Stub(
  1919.     IRpcStubBuffer *This,
  1920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1921.     PRPC_MESSAGE _pRpcMessage,
  1922.     DWORD *_pdwStubPhase);
  1923.  
  1924.  
  1925. HRESULT STDMETHODCALLTYPE IFilterGraph_RemoveFilter_Proxy( 
  1926.     IFilterGraph * This,
  1927.     /* [in] */ IBaseFilter *pFilter);
  1928.  
  1929.  
  1930. void __RPC_STUB IFilterGraph_RemoveFilter_Stub(
  1931.     IRpcStubBuffer *This,
  1932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1933.     PRPC_MESSAGE _pRpcMessage,
  1934.     DWORD *_pdwStubPhase);
  1935.  
  1936.  
  1937. HRESULT STDMETHODCALLTYPE IFilterGraph_EnumFilters_Proxy( 
  1938.     IFilterGraph * This,
  1939.     /* [out] */ IEnumFilters **ppEnum);
  1940.  
  1941.  
  1942. void __RPC_STUB IFilterGraph_EnumFilters_Stub(
  1943.     IRpcStubBuffer *This,
  1944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1945.     PRPC_MESSAGE _pRpcMessage,
  1946.     DWORD *_pdwStubPhase);
  1947.  
  1948.  
  1949. HRESULT STDMETHODCALLTYPE IFilterGraph_FindFilterByName_Proxy( 
  1950.     IFilterGraph * This,
  1951.     /* [string][in] */ LPCWSTR pName,
  1952.     /* [out] */ IBaseFilter **ppFilter);
  1953.  
  1954.  
  1955. void __RPC_STUB IFilterGraph_FindFilterByName_Stub(
  1956.     IRpcStubBuffer *This,
  1957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1958.     PRPC_MESSAGE _pRpcMessage,
  1959.     DWORD *_pdwStubPhase);
  1960.  
  1961.  
  1962. HRESULT STDMETHODCALLTYPE IFilterGraph_ConnectDirect_Proxy( 
  1963.     IFilterGraph * This,
  1964.     /* [in] */ IPin *ppinOut,
  1965.     /* [in] */ IPin *ppinIn,
  1966.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  1967.  
  1968.  
  1969. void __RPC_STUB IFilterGraph_ConnectDirect_Stub(
  1970.     IRpcStubBuffer *This,
  1971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1972.     PRPC_MESSAGE _pRpcMessage,
  1973.     DWORD *_pdwStubPhase);
  1974.  
  1975.  
  1976. HRESULT STDMETHODCALLTYPE IFilterGraph_Reconnect_Proxy( 
  1977.     IFilterGraph * This,
  1978.     /* [in] */ IPin *ppin);
  1979.  
  1980.  
  1981. void __RPC_STUB IFilterGraph_Reconnect_Stub(
  1982.     IRpcStubBuffer *This,
  1983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1984.     PRPC_MESSAGE _pRpcMessage,
  1985.     DWORD *_pdwStubPhase);
  1986.  
  1987.  
  1988. HRESULT STDMETHODCALLTYPE IFilterGraph_Disconnect_Proxy( 
  1989.     IFilterGraph * This,
  1990.     /* [in] */ IPin *ppin);
  1991.  
  1992.  
  1993. void __RPC_STUB IFilterGraph_Disconnect_Stub(
  1994.     IRpcStubBuffer *This,
  1995.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1996.     PRPC_MESSAGE _pRpcMessage,
  1997.     DWORD *_pdwStubPhase);
  1998.  
  1999.  
  2000. HRESULT STDMETHODCALLTYPE IFilterGraph_SetDefaultSyncSource_Proxy( 
  2001.     IFilterGraph * This);
  2002.  
  2003.  
  2004. void __RPC_STUB IFilterGraph_SetDefaultSyncSource_Stub(
  2005.     IRpcStubBuffer *This,
  2006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2007.     PRPC_MESSAGE _pRpcMessage,
  2008.     DWORD *_pdwStubPhase);
  2009.  
  2010.  
  2011.  
  2012. #endif     /* __IFilterGraph_INTERFACE_DEFINED__ */
  2013.  
  2014.  
  2015. /* interface __MIDL_itf_strmif_0116 */
  2016. /* [local] */ 
  2017.  
  2018. typedef IFilterGraph *PFILTERGRAPH;
  2019.  
  2020.  
  2021.  
  2022. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_c_ifspec;
  2023. extern RPC_IF_HANDLE __MIDL_itf_strmif_0116_v0_0_s_ifspec;
  2024.  
  2025. #ifndef __IEnumFilters_INTERFACE_DEFINED__
  2026. #define __IEnumFilters_INTERFACE_DEFINED__
  2027.  
  2028. /* interface IEnumFilters */
  2029. /* [unique][uuid][object] */ 
  2030.  
  2031.  
  2032. EXTERN_C const IID IID_IEnumFilters;
  2033.  
  2034. #if defined(__cplusplus) && !defined(CINTERFACE)
  2035.     
  2036.     MIDL_INTERFACE("56a86893-0ad4-11ce-b03a-0020af0ba770")
  2037.     IEnumFilters : public IUnknown
  2038.     {
  2039.     public:
  2040.         virtual HRESULT STDMETHODCALLTYPE Next( 
  2041.             /* [in] */ ULONG cFilters,
  2042.             /* [out] */ IBaseFilter **ppFilter,
  2043.             /* [out] */ ULONG *pcFetched) = 0;
  2044.         
  2045.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2046.             /* [in] */ ULONG cFilters) = 0;
  2047.         
  2048.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2049.         
  2050.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2051.             /* [out] */ IEnumFilters **ppEnum) = 0;
  2052.         
  2053.     };
  2054.     
  2055. #else     /* C style interface */
  2056.  
  2057.     typedef struct IEnumFiltersVtbl
  2058.     {
  2059.         BEGIN_INTERFACE
  2060.         
  2061.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2062.             IEnumFilters * This,
  2063.             /* [in] */ REFIID riid,
  2064.             /* [iid_is][out] */ void **ppvObject);
  2065.         
  2066.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2067.             IEnumFilters * This);
  2068.         
  2069.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2070.             IEnumFilters * This);
  2071.         
  2072.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2073.             IEnumFilters * This,
  2074.             /* [in] */ ULONG cFilters,
  2075.             /* [out] */ IBaseFilter **ppFilter,
  2076.             /* [out] */ ULONG *pcFetched);
  2077.         
  2078.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2079.             IEnumFilters * This,
  2080.             /* [in] */ ULONG cFilters);
  2081.         
  2082.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2083.             IEnumFilters * This);
  2084.         
  2085.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2086.             IEnumFilters * This,
  2087.             /* [out] */ IEnumFilters **ppEnum);
  2088.         
  2089.         END_INTERFACE
  2090.     } IEnumFiltersVtbl;
  2091.  
  2092.     interface IEnumFilters
  2093.     {
  2094.         CONST_VTBL struct IEnumFiltersVtbl *lpVtbl;
  2095.     };
  2096.  
  2097.     
  2098.  
  2099. #ifdef COBJMACROS
  2100.  
  2101.  
  2102. #define IEnumFilters_QueryInterface(This,riid,ppvObject)    \
  2103.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2104.  
  2105. #define IEnumFilters_AddRef(This)    \
  2106.     (This)->lpVtbl -> AddRef(This)
  2107.  
  2108. #define IEnumFilters_Release(This)    \
  2109.     (This)->lpVtbl -> Release(This)
  2110.  
  2111.  
  2112. #define IEnumFilters_Next(This,cFilters,ppFilter,pcFetched)    \
  2113.     (This)->lpVtbl -> Next(This,cFilters,ppFilter,pcFetched)
  2114.  
  2115. #define IEnumFilters_Skip(This,cFilters)    \
  2116.     (This)->lpVtbl -> Skip(This,cFilters)
  2117.  
  2118. #define IEnumFilters_Reset(This)    \
  2119.     (This)->lpVtbl -> Reset(This)
  2120.  
  2121. #define IEnumFilters_Clone(This,ppEnum)    \
  2122.     (This)->lpVtbl -> Clone(This,ppEnum)
  2123.  
  2124. #endif /* COBJMACROS */
  2125.  
  2126.  
  2127. #endif     /* C style interface */
  2128.  
  2129.  
  2130.  
  2131. HRESULT STDMETHODCALLTYPE IEnumFilters_Next_Proxy( 
  2132.     IEnumFilters * This,
  2133.     /* [in] */ ULONG cFilters,
  2134.     /* [out] */ IBaseFilter **ppFilter,
  2135.     /* [out] */ ULONG *pcFetched);
  2136.  
  2137.  
  2138. void __RPC_STUB IEnumFilters_Next_Stub(
  2139.     IRpcStubBuffer *This,
  2140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2141.     PRPC_MESSAGE _pRpcMessage,
  2142.     DWORD *_pdwStubPhase);
  2143.  
  2144.  
  2145. HRESULT STDMETHODCALLTYPE IEnumFilters_Skip_Proxy( 
  2146.     IEnumFilters * This,
  2147.     /* [in] */ ULONG cFilters);
  2148.  
  2149.  
  2150. void __RPC_STUB IEnumFilters_Skip_Stub(
  2151.     IRpcStubBuffer *This,
  2152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2153.     PRPC_MESSAGE _pRpcMessage,
  2154.     DWORD *_pdwStubPhase);
  2155.  
  2156.  
  2157. HRESULT STDMETHODCALLTYPE IEnumFilters_Reset_Proxy( 
  2158.     IEnumFilters * This);
  2159.  
  2160.  
  2161. void __RPC_STUB IEnumFilters_Reset_Stub(
  2162.     IRpcStubBuffer *This,
  2163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2164.     PRPC_MESSAGE _pRpcMessage,
  2165.     DWORD *_pdwStubPhase);
  2166.  
  2167.  
  2168. HRESULT STDMETHODCALLTYPE IEnumFilters_Clone_Proxy( 
  2169.     IEnumFilters * This,
  2170.     /* [out] */ IEnumFilters **ppEnum);
  2171.  
  2172.  
  2173. void __RPC_STUB IEnumFilters_Clone_Stub(
  2174.     IRpcStubBuffer *This,
  2175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2176.     PRPC_MESSAGE _pRpcMessage,
  2177.     DWORD *_pdwStubPhase);
  2178.  
  2179.  
  2180.  
  2181. #endif     /* __IEnumFilters_INTERFACE_DEFINED__ */
  2182.  
  2183.  
  2184. /* interface __MIDL_itf_strmif_0117 */
  2185. /* [local] */ 
  2186.  
  2187. typedef IEnumFilters *PENUMFILTERS;
  2188.  
  2189.  
  2190.  
  2191. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_c_ifspec;
  2192. extern RPC_IF_HANDLE __MIDL_itf_strmif_0117_v0_0_s_ifspec;
  2193.  
  2194. #ifndef __IMediaFilter_INTERFACE_DEFINED__
  2195. #define __IMediaFilter_INTERFACE_DEFINED__
  2196.  
  2197. /* interface IMediaFilter */
  2198. /* [unique][uuid][object] */ 
  2199.  
  2200. typedef 
  2201. enum _FilterState
  2202.     {    State_Stopped    = 0,
  2203.     State_Paused    = State_Stopped + 1,
  2204.     State_Running    = State_Paused + 1
  2205.     }     FILTER_STATE;
  2206.  
  2207.  
  2208. EXTERN_C const IID IID_IMediaFilter;
  2209.  
  2210. #if defined(__cplusplus) && !defined(CINTERFACE)
  2211.     
  2212.     MIDL_INTERFACE("56a86899-0ad4-11ce-b03a-0020af0ba770")
  2213.     IMediaFilter : public IPersist
  2214.     {
  2215.     public:
  2216.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  2217.         
  2218.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  2219.         
  2220.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2221.             REFERENCE_TIME tStart) = 0;
  2222.         
  2223.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  2224.             /* [in] */ DWORD dwMilliSecsTimeout,
  2225.             /* [out] */ FILTER_STATE *State) = 0;
  2226.         
  2227.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  2228.             /* [in] */ IReferenceClock *pClock) = 0;
  2229.         
  2230.         virtual HRESULT STDMETHODCALLTYPE GetSyncSource( 
  2231.             /* [out] */ IReferenceClock **pClock) = 0;
  2232.         
  2233.     };
  2234.     
  2235. #else     /* C style interface */
  2236.  
  2237.     typedef struct IMediaFilterVtbl
  2238.     {
  2239.         BEGIN_INTERFACE
  2240.         
  2241.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2242.             IMediaFilter * This,
  2243.             /* [in] */ REFIID riid,
  2244.             /* [iid_is][out] */ void **ppvObject);
  2245.         
  2246.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2247.             IMediaFilter * This);
  2248.         
  2249.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2250.             IMediaFilter * This);
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2253.             IMediaFilter * This,
  2254.             /* [out] */ CLSID *pClassID);
  2255.         
  2256.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2257.             IMediaFilter * This);
  2258.         
  2259.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2260.             IMediaFilter * This);
  2261.         
  2262.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2263.             IMediaFilter * This,
  2264.             REFERENCE_TIME tStart);
  2265.         
  2266.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2267.             IMediaFilter * This,
  2268.             /* [in] */ DWORD dwMilliSecsTimeout,
  2269.             /* [out] */ FILTER_STATE *State);
  2270.         
  2271.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2272.             IMediaFilter * This,
  2273.             /* [in] */ IReferenceClock *pClock);
  2274.         
  2275.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2276.             IMediaFilter * This,
  2277.             /* [out] */ IReferenceClock **pClock);
  2278.         
  2279.         END_INTERFACE
  2280.     } IMediaFilterVtbl;
  2281.  
  2282.     interface IMediaFilter
  2283.     {
  2284.         CONST_VTBL struct IMediaFilterVtbl *lpVtbl;
  2285.     };
  2286.  
  2287.     
  2288.  
  2289. #ifdef COBJMACROS
  2290.  
  2291.  
  2292. #define IMediaFilter_QueryInterface(This,riid,ppvObject)    \
  2293.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2294.  
  2295. #define IMediaFilter_AddRef(This)    \
  2296.     (This)->lpVtbl -> AddRef(This)
  2297.  
  2298. #define IMediaFilter_Release(This)    \
  2299.     (This)->lpVtbl -> Release(This)
  2300.  
  2301.  
  2302. #define IMediaFilter_GetClassID(This,pClassID)    \
  2303.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2304.  
  2305.  
  2306. #define IMediaFilter_Stop(This)    \
  2307.     (This)->lpVtbl -> Stop(This)
  2308.  
  2309. #define IMediaFilter_Pause(This)    \
  2310.     (This)->lpVtbl -> Pause(This)
  2311.  
  2312. #define IMediaFilter_Run(This,tStart)    \
  2313.     (This)->lpVtbl -> Run(This,tStart)
  2314.  
  2315. #define IMediaFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2316.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2317.  
  2318. #define IMediaFilter_SetSyncSource(This,pClock)    \
  2319.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2320.  
  2321. #define IMediaFilter_GetSyncSource(This,pClock)    \
  2322.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2323.  
  2324. #endif /* COBJMACROS */
  2325.  
  2326.  
  2327. #endif     /* C style interface */
  2328.  
  2329.  
  2330.  
  2331. HRESULT STDMETHODCALLTYPE IMediaFilter_Stop_Proxy( 
  2332.     IMediaFilter * This);
  2333.  
  2334.  
  2335. void __RPC_STUB IMediaFilter_Stop_Stub(
  2336.     IRpcStubBuffer *This,
  2337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2338.     PRPC_MESSAGE _pRpcMessage,
  2339.     DWORD *_pdwStubPhase);
  2340.  
  2341.  
  2342. HRESULT STDMETHODCALLTYPE IMediaFilter_Pause_Proxy( 
  2343.     IMediaFilter * This);
  2344.  
  2345.  
  2346. void __RPC_STUB IMediaFilter_Pause_Stub(
  2347.     IRpcStubBuffer *This,
  2348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2349.     PRPC_MESSAGE _pRpcMessage,
  2350.     DWORD *_pdwStubPhase);
  2351.  
  2352.  
  2353. HRESULT STDMETHODCALLTYPE IMediaFilter_Run_Proxy( 
  2354.     IMediaFilter * This,
  2355.     REFERENCE_TIME tStart);
  2356.  
  2357.  
  2358. void __RPC_STUB IMediaFilter_Run_Stub(
  2359.     IRpcStubBuffer *This,
  2360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2361.     PRPC_MESSAGE _pRpcMessage,
  2362.     DWORD *_pdwStubPhase);
  2363.  
  2364.  
  2365. HRESULT STDMETHODCALLTYPE IMediaFilter_GetState_Proxy( 
  2366.     IMediaFilter * This,
  2367.     /* [in] */ DWORD dwMilliSecsTimeout,
  2368.     /* [out] */ FILTER_STATE *State);
  2369.  
  2370.  
  2371. void __RPC_STUB IMediaFilter_GetState_Stub(
  2372.     IRpcStubBuffer *This,
  2373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2374.     PRPC_MESSAGE _pRpcMessage,
  2375.     DWORD *_pdwStubPhase);
  2376.  
  2377.  
  2378. HRESULT STDMETHODCALLTYPE IMediaFilter_SetSyncSource_Proxy( 
  2379.     IMediaFilter * This,
  2380.     /* [in] */ IReferenceClock *pClock);
  2381.  
  2382.  
  2383. void __RPC_STUB IMediaFilter_SetSyncSource_Stub(
  2384.     IRpcStubBuffer *This,
  2385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2386.     PRPC_MESSAGE _pRpcMessage,
  2387.     DWORD *_pdwStubPhase);
  2388.  
  2389.  
  2390. HRESULT STDMETHODCALLTYPE IMediaFilter_GetSyncSource_Proxy( 
  2391.     IMediaFilter * This,
  2392.     /* [out] */ IReferenceClock **pClock);
  2393.  
  2394.  
  2395. void __RPC_STUB IMediaFilter_GetSyncSource_Stub(
  2396.     IRpcStubBuffer *This,
  2397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2398.     PRPC_MESSAGE _pRpcMessage,
  2399.     DWORD *_pdwStubPhase);
  2400.  
  2401.  
  2402.  
  2403. #endif     /* __IMediaFilter_INTERFACE_DEFINED__ */
  2404.  
  2405.  
  2406. /* interface __MIDL_itf_strmif_0118 */
  2407. /* [local] */ 
  2408.  
  2409. typedef IMediaFilter *PMEDIAFILTER;
  2410.  
  2411.  
  2412.  
  2413. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_c_ifspec;
  2414. extern RPC_IF_HANDLE __MIDL_itf_strmif_0118_v0_0_s_ifspec;
  2415.  
  2416. #ifndef __IBaseFilter_INTERFACE_DEFINED__
  2417. #define __IBaseFilter_INTERFACE_DEFINED__
  2418.  
  2419. /* interface IBaseFilter */
  2420. /* [unique][uuid][object] */ 
  2421.  
  2422. typedef struct _FilterInfo
  2423.     {
  2424.     WCHAR achName[ 128 ];
  2425.     IFilterGraph *pGraph;
  2426.     }     FILTER_INFO;
  2427.  
  2428.  
  2429. EXTERN_C const IID IID_IBaseFilter;
  2430.  
  2431. #if defined(__cplusplus) && !defined(CINTERFACE)
  2432.     
  2433.     MIDL_INTERFACE("56a86895-0ad4-11ce-b03a-0020af0ba770")
  2434.     IBaseFilter : public IMediaFilter
  2435.     {
  2436.     public:
  2437.         virtual HRESULT STDMETHODCALLTYPE EnumPins( 
  2438.             /* [out] */ IEnumPins **ppEnum) = 0;
  2439.         
  2440.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  2441.             /* [string][in] */ LPCWSTR Id,
  2442.             /* [out] */ IPin **ppPin) = 0;
  2443.         
  2444.         virtual HRESULT STDMETHODCALLTYPE QueryFilterInfo( 
  2445.             /* [out] */ FILTER_INFO *pInfo) = 0;
  2446.         
  2447.         virtual HRESULT STDMETHODCALLTYPE JoinFilterGraph( 
  2448.             /* [in] */ IFilterGraph *pGraph,
  2449.             /* [string][in] */ LPCWSTR pName) = 0;
  2450.         
  2451.         virtual HRESULT STDMETHODCALLTYPE QueryVendorInfo( 
  2452.             /* [string][out] */ LPWSTR *pVendorInfo) = 0;
  2453.         
  2454.     };
  2455.     
  2456. #else     /* C style interface */
  2457.  
  2458.     typedef struct IBaseFilterVtbl
  2459.     {
  2460.         BEGIN_INTERFACE
  2461.         
  2462.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2463.             IBaseFilter * This,
  2464.             /* [in] */ REFIID riid,
  2465.             /* [iid_is][out] */ void **ppvObject);
  2466.         
  2467.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2468.             IBaseFilter * This);
  2469.         
  2470.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2471.             IBaseFilter * This);
  2472.         
  2473.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2474.             IBaseFilter * This,
  2475.             /* [out] */ CLSID *pClassID);
  2476.         
  2477.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  2478.             IBaseFilter * This);
  2479.         
  2480.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  2481.             IBaseFilter * This);
  2482.         
  2483.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2484.             IBaseFilter * This,
  2485.             REFERENCE_TIME tStart);
  2486.         
  2487.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  2488.             IBaseFilter * This,
  2489.             /* [in] */ DWORD dwMilliSecsTimeout,
  2490.             /* [out] */ FILTER_STATE *State);
  2491.         
  2492.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  2493.             IBaseFilter * This,
  2494.             /* [in] */ IReferenceClock *pClock);
  2495.         
  2496.         HRESULT ( STDMETHODCALLTYPE *GetSyncSource )( 
  2497.             IBaseFilter * This,
  2498.             /* [out] */ IReferenceClock **pClock);
  2499.         
  2500.         HRESULT ( STDMETHODCALLTYPE *EnumPins )( 
  2501.             IBaseFilter * This,
  2502.             /* [out] */ IEnumPins **ppEnum);
  2503.         
  2504.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  2505.             IBaseFilter * This,
  2506.             /* [string][in] */ LPCWSTR Id,
  2507.             /* [out] */ IPin **ppPin);
  2508.         
  2509.         HRESULT ( STDMETHODCALLTYPE *QueryFilterInfo )( 
  2510.             IBaseFilter * This,
  2511.             /* [out] */ FILTER_INFO *pInfo);
  2512.         
  2513.         HRESULT ( STDMETHODCALLTYPE *JoinFilterGraph )( 
  2514.             IBaseFilter * This,
  2515.             /* [in] */ IFilterGraph *pGraph,
  2516.             /* [string][in] */ LPCWSTR pName);
  2517.         
  2518.         HRESULT ( STDMETHODCALLTYPE *QueryVendorInfo )( 
  2519.             IBaseFilter * This,
  2520.             /* [string][out] */ LPWSTR *pVendorInfo);
  2521.         
  2522.         END_INTERFACE
  2523.     } IBaseFilterVtbl;
  2524.  
  2525.     interface IBaseFilter
  2526.     {
  2527.         CONST_VTBL struct IBaseFilterVtbl *lpVtbl;
  2528.     };
  2529.  
  2530.     
  2531.  
  2532. #ifdef COBJMACROS
  2533.  
  2534.  
  2535. #define IBaseFilter_QueryInterface(This,riid,ppvObject)    \
  2536.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2537.  
  2538. #define IBaseFilter_AddRef(This)    \
  2539.     (This)->lpVtbl -> AddRef(This)
  2540.  
  2541. #define IBaseFilter_Release(This)    \
  2542.     (This)->lpVtbl -> Release(This)
  2543.  
  2544.  
  2545. #define IBaseFilter_GetClassID(This,pClassID)    \
  2546.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2547.  
  2548.  
  2549. #define IBaseFilter_Stop(This)    \
  2550.     (This)->lpVtbl -> Stop(This)
  2551.  
  2552. #define IBaseFilter_Pause(This)    \
  2553.     (This)->lpVtbl -> Pause(This)
  2554.  
  2555. #define IBaseFilter_Run(This,tStart)    \
  2556.     (This)->lpVtbl -> Run(This,tStart)
  2557.  
  2558. #define IBaseFilter_GetState(This,dwMilliSecsTimeout,State)    \
  2559.     (This)->lpVtbl -> GetState(This,dwMilliSecsTimeout,State)
  2560.  
  2561. #define IBaseFilter_SetSyncSource(This,pClock)    \
  2562.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  2563.  
  2564. #define IBaseFilter_GetSyncSource(This,pClock)    \
  2565.     (This)->lpVtbl -> GetSyncSource(This,pClock)
  2566.  
  2567.  
  2568. #define IBaseFilter_EnumPins(This,ppEnum)    \
  2569.     (This)->lpVtbl -> EnumPins(This,ppEnum)
  2570.  
  2571. #define IBaseFilter_FindPin(This,Id,ppPin)    \
  2572.     (This)->lpVtbl -> FindPin(This,Id,ppPin)
  2573.  
  2574. #define IBaseFilter_QueryFilterInfo(This,pInfo)    \
  2575.     (This)->lpVtbl -> QueryFilterInfo(This,pInfo)
  2576.  
  2577. #define IBaseFilter_JoinFilterGraph(This,pGraph,pName)    \
  2578.     (This)->lpVtbl -> JoinFilterGraph(This,pGraph,pName)
  2579.  
  2580. #define IBaseFilter_QueryVendorInfo(This,pVendorInfo)    \
  2581.     (This)->lpVtbl -> QueryVendorInfo(This,pVendorInfo)
  2582.  
  2583. #endif /* COBJMACROS */
  2584.  
  2585.  
  2586. #endif     /* C style interface */
  2587.  
  2588.  
  2589.  
  2590. HRESULT STDMETHODCALLTYPE IBaseFilter_EnumPins_Proxy( 
  2591.     IBaseFilter * This,
  2592.     /* [out] */ IEnumPins **ppEnum);
  2593.  
  2594.  
  2595. void __RPC_STUB IBaseFilter_EnumPins_Stub(
  2596.     IRpcStubBuffer *This,
  2597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2598.     PRPC_MESSAGE _pRpcMessage,
  2599.     DWORD *_pdwStubPhase);
  2600.  
  2601.  
  2602. HRESULT STDMETHODCALLTYPE IBaseFilter_FindPin_Proxy( 
  2603.     IBaseFilter * This,
  2604.     /* [string][in] */ LPCWSTR Id,
  2605.     /* [out] */ IPin **ppPin);
  2606.  
  2607.  
  2608. void __RPC_STUB IBaseFilter_FindPin_Stub(
  2609.     IRpcStubBuffer *This,
  2610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2611.     PRPC_MESSAGE _pRpcMessage,
  2612.     DWORD *_pdwStubPhase);
  2613.  
  2614.  
  2615. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryFilterInfo_Proxy( 
  2616.     IBaseFilter * This,
  2617.     /* [out] */ FILTER_INFO *pInfo);
  2618.  
  2619.  
  2620. void __RPC_STUB IBaseFilter_QueryFilterInfo_Stub(
  2621.     IRpcStubBuffer *This,
  2622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2623.     PRPC_MESSAGE _pRpcMessage,
  2624.     DWORD *_pdwStubPhase);
  2625.  
  2626.  
  2627. HRESULT STDMETHODCALLTYPE IBaseFilter_JoinFilterGraph_Proxy( 
  2628.     IBaseFilter * This,
  2629.     /* [in] */ IFilterGraph *pGraph,
  2630.     /* [string][in] */ LPCWSTR pName);
  2631.  
  2632.  
  2633. void __RPC_STUB IBaseFilter_JoinFilterGraph_Stub(
  2634.     IRpcStubBuffer *This,
  2635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2636.     PRPC_MESSAGE _pRpcMessage,
  2637.     DWORD *_pdwStubPhase);
  2638.  
  2639.  
  2640. HRESULT STDMETHODCALLTYPE IBaseFilter_QueryVendorInfo_Proxy( 
  2641.     IBaseFilter * This,
  2642.     /* [string][out] */ LPWSTR *pVendorInfo);
  2643.  
  2644.  
  2645. void __RPC_STUB IBaseFilter_QueryVendorInfo_Stub(
  2646.     IRpcStubBuffer *This,
  2647.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2648.     PRPC_MESSAGE _pRpcMessage,
  2649.     DWORD *_pdwStubPhase);
  2650.  
  2651.  
  2652.  
  2653. #endif     /* __IBaseFilter_INTERFACE_DEFINED__ */
  2654.  
  2655.  
  2656. /* interface __MIDL_itf_strmif_0119 */
  2657. /* [local] */ 
  2658.  
  2659. typedef IBaseFilter *PFILTER;
  2660.  
  2661.  
  2662.  
  2663. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_c_ifspec;
  2664. extern RPC_IF_HANDLE __MIDL_itf_strmif_0119_v0_0_s_ifspec;
  2665.  
  2666. #ifndef __IReferenceClock_INTERFACE_DEFINED__
  2667. #define __IReferenceClock_INTERFACE_DEFINED__
  2668.  
  2669. /* interface IReferenceClock */
  2670. /* [unique][uuid][object] */ 
  2671.  
  2672.  
  2673. EXTERN_C const IID IID_IReferenceClock;
  2674.  
  2675. #if defined(__cplusplus) && !defined(CINTERFACE)
  2676.     
  2677.     MIDL_INTERFACE("56a86897-0ad4-11ce-b03a-0020af0ba770")
  2678.     IReferenceClock : public IUnknown
  2679.     {
  2680.     public:
  2681.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2682.             /* [out] */ REFERENCE_TIME *pTime) = 0;
  2683.         
  2684.         virtual HRESULT STDMETHODCALLTYPE AdviseTime( 
  2685.             /* [in] */ REFERENCE_TIME baseTime,
  2686.             /* [in] */ REFERENCE_TIME streamTime,
  2687.             /* [in] */ HEVENT hEvent,
  2688.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2689.         
  2690.         virtual HRESULT STDMETHODCALLTYPE AdvisePeriodic( 
  2691.             /* [in] */ REFERENCE_TIME startTime,
  2692.             /* [in] */ REFERENCE_TIME periodTime,
  2693.             /* [in] */ HSEMAPHORE hSemaphore,
  2694.             /* [out] */ DWORD_PTR *pdwAdviseCookie) = 0;
  2695.         
  2696.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  2697.             /* [in] */ DWORD_PTR dwAdviseCookie) = 0;
  2698.         
  2699.     };
  2700.     
  2701. #else     /* C style interface */
  2702.  
  2703.     typedef struct IReferenceClockVtbl
  2704.     {
  2705.         BEGIN_INTERFACE
  2706.         
  2707.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2708.             IReferenceClock * This,
  2709.             /* [in] */ REFIID riid,
  2710.             /* [iid_is][out] */ void **ppvObject);
  2711.         
  2712.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2713.             IReferenceClock * This);
  2714.         
  2715.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2716.             IReferenceClock * This);
  2717.         
  2718.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2719.             IReferenceClock * This,
  2720.             /* [out] */ REFERENCE_TIME *pTime);
  2721.         
  2722.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2723.             IReferenceClock * This,
  2724.             /* [in] */ REFERENCE_TIME baseTime,
  2725.             /* [in] */ REFERENCE_TIME streamTime,
  2726.             /* [in] */ HEVENT hEvent,
  2727.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2728.         
  2729.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2730.             IReferenceClock * This,
  2731.             /* [in] */ REFERENCE_TIME startTime,
  2732.             /* [in] */ REFERENCE_TIME periodTime,
  2733.             /* [in] */ HSEMAPHORE hSemaphore,
  2734.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2735.         
  2736.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2737.             IReferenceClock * This,
  2738.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2739.         
  2740.         END_INTERFACE
  2741.     } IReferenceClockVtbl;
  2742.  
  2743.     interface IReferenceClock
  2744.     {
  2745.         CONST_VTBL struct IReferenceClockVtbl *lpVtbl;
  2746.     };
  2747.  
  2748.     
  2749.  
  2750. #ifdef COBJMACROS
  2751.  
  2752.  
  2753. #define IReferenceClock_QueryInterface(This,riid,ppvObject)    \
  2754.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2755.  
  2756. #define IReferenceClock_AddRef(This)    \
  2757.     (This)->lpVtbl -> AddRef(This)
  2758.  
  2759. #define IReferenceClock_Release(This)    \
  2760.     (This)->lpVtbl -> Release(This)
  2761.  
  2762.  
  2763. #define IReferenceClock_GetTime(This,pTime)    \
  2764.     (This)->lpVtbl -> GetTime(This,pTime)
  2765.  
  2766. #define IReferenceClock_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2767.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2768.  
  2769. #define IReferenceClock_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2770.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2771.  
  2772. #define IReferenceClock_Unadvise(This,dwAdviseCookie)    \
  2773.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2774.  
  2775. #endif /* COBJMACROS */
  2776.  
  2777.  
  2778. #endif     /* C style interface */
  2779.  
  2780.  
  2781.  
  2782. HRESULT STDMETHODCALLTYPE IReferenceClock_GetTime_Proxy( 
  2783.     IReferenceClock * This,
  2784.     /* [out] */ REFERENCE_TIME *pTime);
  2785.  
  2786.  
  2787. void __RPC_STUB IReferenceClock_GetTime_Stub(
  2788.     IRpcStubBuffer *This,
  2789.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2790.     PRPC_MESSAGE _pRpcMessage,
  2791.     DWORD *_pdwStubPhase);
  2792.  
  2793.  
  2794. HRESULT STDMETHODCALLTYPE IReferenceClock_AdviseTime_Proxy( 
  2795.     IReferenceClock * This,
  2796.     /* [in] */ REFERENCE_TIME baseTime,
  2797.     /* [in] */ REFERENCE_TIME streamTime,
  2798.     /* [in] */ HEVENT hEvent,
  2799.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2800.  
  2801.  
  2802. void __RPC_STUB IReferenceClock_AdviseTime_Stub(
  2803.     IRpcStubBuffer *This,
  2804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2805.     PRPC_MESSAGE _pRpcMessage,
  2806.     DWORD *_pdwStubPhase);
  2807.  
  2808.  
  2809. HRESULT STDMETHODCALLTYPE IReferenceClock_AdvisePeriodic_Proxy( 
  2810.     IReferenceClock * This,
  2811.     /* [in] */ REFERENCE_TIME startTime,
  2812.     /* [in] */ REFERENCE_TIME periodTime,
  2813.     /* [in] */ HSEMAPHORE hSemaphore,
  2814.     /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2815.  
  2816.  
  2817. void __RPC_STUB IReferenceClock_AdvisePeriodic_Stub(
  2818.     IRpcStubBuffer *This,
  2819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2820.     PRPC_MESSAGE _pRpcMessage,
  2821.     DWORD *_pdwStubPhase);
  2822.  
  2823.  
  2824. HRESULT STDMETHODCALLTYPE IReferenceClock_Unadvise_Proxy( 
  2825.     IReferenceClock * This,
  2826.     /* [in] */ DWORD_PTR dwAdviseCookie);
  2827.  
  2828.  
  2829. void __RPC_STUB IReferenceClock_Unadvise_Stub(
  2830.     IRpcStubBuffer *This,
  2831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2832.     PRPC_MESSAGE _pRpcMessage,
  2833.     DWORD *_pdwStubPhase);
  2834.  
  2835.  
  2836.  
  2837. #endif     /* __IReferenceClock_INTERFACE_DEFINED__ */
  2838.  
  2839.  
  2840. /* interface __MIDL_itf_strmif_0120 */
  2841. /* [local] */ 
  2842.  
  2843. typedef IReferenceClock *PREFERENCECLOCK;
  2844.  
  2845.  
  2846.  
  2847. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_c_ifspec;
  2848. extern RPC_IF_HANDLE __MIDL_itf_strmif_0120_v0_0_s_ifspec;
  2849.  
  2850. #ifndef __IReferenceClock2_INTERFACE_DEFINED__
  2851. #define __IReferenceClock2_INTERFACE_DEFINED__
  2852.  
  2853. /* interface IReferenceClock2 */
  2854. /* [unique][uuid][object] */ 
  2855.  
  2856.  
  2857. EXTERN_C const IID IID_IReferenceClock2;
  2858.  
  2859. #if defined(__cplusplus) && !defined(CINTERFACE)
  2860.     
  2861.     MIDL_INTERFACE("36b73885-c2c8-11cf-8b46-00805f6cef60")
  2862.     IReferenceClock2 : public IReferenceClock
  2863.     {
  2864.     public:
  2865.     };
  2866.     
  2867. #else     /* C style interface */
  2868.  
  2869.     typedef struct IReferenceClock2Vtbl
  2870.     {
  2871.         BEGIN_INTERFACE
  2872.         
  2873.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2874.             IReferenceClock2 * This,
  2875.             /* [in] */ REFIID riid,
  2876.             /* [iid_is][out] */ void **ppvObject);
  2877.         
  2878.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2879.             IReferenceClock2 * This);
  2880.         
  2881.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2882.             IReferenceClock2 * This);
  2883.         
  2884.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  2885.             IReferenceClock2 * This,
  2886.             /* [out] */ REFERENCE_TIME *pTime);
  2887.         
  2888.         HRESULT ( STDMETHODCALLTYPE *AdviseTime )( 
  2889.             IReferenceClock2 * This,
  2890.             /* [in] */ REFERENCE_TIME baseTime,
  2891.             /* [in] */ REFERENCE_TIME streamTime,
  2892.             /* [in] */ HEVENT hEvent,
  2893.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2894.         
  2895.         HRESULT ( STDMETHODCALLTYPE *AdvisePeriodic )( 
  2896.             IReferenceClock2 * This,
  2897.             /* [in] */ REFERENCE_TIME startTime,
  2898.             /* [in] */ REFERENCE_TIME periodTime,
  2899.             /* [in] */ HSEMAPHORE hSemaphore,
  2900.             /* [out] */ DWORD_PTR *pdwAdviseCookie);
  2901.         
  2902.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  2903.             IReferenceClock2 * This,
  2904.             /* [in] */ DWORD_PTR dwAdviseCookie);
  2905.         
  2906.         END_INTERFACE
  2907.     } IReferenceClock2Vtbl;
  2908.  
  2909.     interface IReferenceClock2
  2910.     {
  2911.         CONST_VTBL struct IReferenceClock2Vtbl *lpVtbl;
  2912.     };
  2913.  
  2914.     
  2915.  
  2916. #ifdef COBJMACROS
  2917.  
  2918.  
  2919. #define IReferenceClock2_QueryInterface(This,riid,ppvObject)    \
  2920.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2921.  
  2922. #define IReferenceClock2_AddRef(This)    \
  2923.     (This)->lpVtbl -> AddRef(This)
  2924.  
  2925. #define IReferenceClock2_Release(This)    \
  2926.     (This)->lpVtbl -> Release(This)
  2927.  
  2928.  
  2929. #define IReferenceClock2_GetTime(This,pTime)    \
  2930.     (This)->lpVtbl -> GetTime(This,pTime)
  2931.  
  2932. #define IReferenceClock2_AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)    \
  2933.     (This)->lpVtbl -> AdviseTime(This,baseTime,streamTime,hEvent,pdwAdviseCookie)
  2934.  
  2935. #define IReferenceClock2_AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)    \
  2936.     (This)->lpVtbl -> AdvisePeriodic(This,startTime,periodTime,hSemaphore,pdwAdviseCookie)
  2937.  
  2938. #define IReferenceClock2_Unadvise(This,dwAdviseCookie)    \
  2939.     (This)->lpVtbl -> Unadvise(This,dwAdviseCookie)
  2940.  
  2941.  
  2942. #endif /* COBJMACROS */
  2943.  
  2944.  
  2945. #endif     /* C style interface */
  2946.  
  2947.  
  2948.  
  2949.  
  2950. #endif     /* __IReferenceClock2_INTERFACE_DEFINED__ */
  2951.  
  2952.  
  2953. /* interface __MIDL_itf_strmif_0121 */
  2954. /* [local] */ 
  2955.  
  2956. typedef IReferenceClock2 *PREFERENCECLOCK2;
  2957.  
  2958.  
  2959.  
  2960. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_c_ifspec;
  2961. extern RPC_IF_HANDLE __MIDL_itf_strmif_0121_v0_0_s_ifspec;
  2962.  
  2963. #ifndef __IMediaSample_INTERFACE_DEFINED__
  2964. #define __IMediaSample_INTERFACE_DEFINED__
  2965.  
  2966. /* interface IMediaSample */
  2967. /* [unique][uuid][object][local] */ 
  2968.  
  2969.  
  2970. EXTERN_C const IID IID_IMediaSample;
  2971.  
  2972. #if defined(__cplusplus) && !defined(CINTERFACE)
  2973.     
  2974.     MIDL_INTERFACE("56a8689a-0ad4-11ce-b03a-0020af0ba770")
  2975.     IMediaSample : public IUnknown
  2976.     {
  2977.     public:
  2978.         virtual HRESULT STDMETHODCALLTYPE GetPointer( 
  2979.             /* [out] */ BYTE **ppBuffer) = 0;
  2980.         
  2981.         virtual long STDMETHODCALLTYPE GetSize( void) = 0;
  2982.         
  2983.         virtual HRESULT STDMETHODCALLTYPE GetTime( 
  2984.             /* [out] */ REFERENCE_TIME *pTimeStart,
  2985.             /* [out] */ REFERENCE_TIME *pTimeEnd) = 0;
  2986.         
  2987.         virtual HRESULT STDMETHODCALLTYPE SetTime( 
  2988.             /* [in] */ REFERENCE_TIME *pTimeStart,
  2989.             /* [in] */ REFERENCE_TIME *pTimeEnd) = 0;
  2990.         
  2991.         virtual HRESULT STDMETHODCALLTYPE IsSyncPoint( void) = 0;
  2992.         
  2993.         virtual HRESULT STDMETHODCALLTYPE SetSyncPoint( 
  2994.             BOOL bIsSyncPoint) = 0;
  2995.         
  2996.         virtual HRESULT STDMETHODCALLTYPE IsPreroll( void) = 0;
  2997.         
  2998.         virtual HRESULT STDMETHODCALLTYPE SetPreroll( 
  2999.             BOOL bIsPreroll) = 0;
  3000.         
  3001.         virtual long STDMETHODCALLTYPE GetActualDataLength( void) = 0;
  3002.         
  3003.         virtual HRESULT STDMETHODCALLTYPE SetActualDataLength( 
  3004.             long __MIDL_0010) = 0;
  3005.         
  3006.         virtual HRESULT STDMETHODCALLTYPE GetMediaType( 
  3007.             AM_MEDIA_TYPE **ppMediaType) = 0;
  3008.         
  3009.         virtual HRESULT STDMETHODCALLTYPE SetMediaType( 
  3010.             AM_MEDIA_TYPE *pMediaType) = 0;
  3011.         
  3012.         virtual HRESULT STDMETHODCALLTYPE IsDiscontinuity( void) = 0;
  3013.         
  3014.         virtual HRESULT STDMETHODCALLTYPE SetDiscontinuity( 
  3015.             BOOL bDiscontinuity) = 0;
  3016.         
  3017.         virtual HRESULT STDMETHODCALLTYPE GetMediaTime( 
  3018.             /* [out] */ LONGLONG *pTimeStart,
  3019.             /* [out] */ LONGLONG *pTimeEnd) = 0;
  3020.         
  3021.         virtual HRESULT STDMETHODCALLTYPE SetMediaTime( 
  3022.             /* [in] */ LONGLONG *pTimeStart,
  3023.             /* [in] */ LONGLONG *pTimeEnd) = 0;
  3024.         
  3025.     };
  3026.     
  3027. #else     /* C style interface */
  3028.  
  3029.     typedef struct IMediaSampleVtbl
  3030.     {
  3031.         BEGIN_INTERFACE
  3032.         
  3033.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3034.             IMediaSample * This,
  3035.             /* [in] */ REFIID riid,
  3036.             /* [iid_is][out] */ void **ppvObject);
  3037.         
  3038.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3039.             IMediaSample * This);
  3040.         
  3041.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3042.             IMediaSample * This);
  3043.         
  3044.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3045.             IMediaSample * This,
  3046.             /* [out] */ BYTE **ppBuffer);
  3047.         
  3048.         long ( STDMETHODCALLTYPE *GetSize )( 
  3049.             IMediaSample * This);
  3050.         
  3051.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3052.             IMediaSample * This,
  3053.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3054.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3055.         
  3056.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3057.             IMediaSample * This,
  3058.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3059.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3060.         
  3061.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3062.             IMediaSample * This);
  3063.         
  3064.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3065.             IMediaSample * This,
  3066.             BOOL bIsSyncPoint);
  3067.         
  3068.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3069.             IMediaSample * This);
  3070.         
  3071.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3072.             IMediaSample * This,
  3073.             BOOL bIsPreroll);
  3074.         
  3075.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3076.             IMediaSample * This);
  3077.         
  3078.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3079.             IMediaSample * This,
  3080.             long __MIDL_0010);
  3081.         
  3082.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3083.             IMediaSample * This,
  3084.             AM_MEDIA_TYPE **ppMediaType);
  3085.         
  3086.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3087.             IMediaSample * This,
  3088.             AM_MEDIA_TYPE *pMediaType);
  3089.         
  3090.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3091.             IMediaSample * This);
  3092.         
  3093.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3094.             IMediaSample * This,
  3095.             BOOL bDiscontinuity);
  3096.         
  3097.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3098.             IMediaSample * This,
  3099.             /* [out] */ LONGLONG *pTimeStart,
  3100.             /* [out] */ LONGLONG *pTimeEnd);
  3101.         
  3102.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3103.             IMediaSample * This,
  3104.             /* [in] */ LONGLONG *pTimeStart,
  3105.             /* [in] */ LONGLONG *pTimeEnd);
  3106.         
  3107.         END_INTERFACE
  3108.     } IMediaSampleVtbl;
  3109.  
  3110.     interface IMediaSample
  3111.     {
  3112.         CONST_VTBL struct IMediaSampleVtbl *lpVtbl;
  3113.     };
  3114.  
  3115.     
  3116.  
  3117. #ifdef COBJMACROS
  3118.  
  3119.  
  3120. #define IMediaSample_QueryInterface(This,riid,ppvObject)    \
  3121.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3122.  
  3123. #define IMediaSample_AddRef(This)    \
  3124.     (This)->lpVtbl -> AddRef(This)
  3125.  
  3126. #define IMediaSample_Release(This)    \
  3127.     (This)->lpVtbl -> Release(This)
  3128.  
  3129.  
  3130. #define IMediaSample_GetPointer(This,ppBuffer)    \
  3131.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3132.  
  3133. #define IMediaSample_GetSize(This)    \
  3134.     (This)->lpVtbl -> GetSize(This)
  3135.  
  3136. #define IMediaSample_GetTime(This,pTimeStart,pTimeEnd)    \
  3137.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3138.  
  3139. #define IMediaSample_SetTime(This,pTimeStart,pTimeEnd)    \
  3140.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3141.  
  3142. #define IMediaSample_IsSyncPoint(This)    \
  3143.     (This)->lpVtbl -> IsSyncPoint(This)
  3144.  
  3145. #define IMediaSample_SetSyncPoint(This,bIsSyncPoint)    \
  3146.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3147.  
  3148. #define IMediaSample_IsPreroll(This)    \
  3149.     (This)->lpVtbl -> IsPreroll(This)
  3150.  
  3151. #define IMediaSample_SetPreroll(This,bIsPreroll)    \
  3152.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3153.  
  3154. #define IMediaSample_GetActualDataLength(This)    \
  3155.     (This)->lpVtbl -> GetActualDataLength(This)
  3156.  
  3157. #define IMediaSample_SetActualDataLength(This,__MIDL_0010)    \
  3158.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3159.  
  3160. #define IMediaSample_GetMediaType(This,ppMediaType)    \
  3161.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3162.  
  3163. #define IMediaSample_SetMediaType(This,pMediaType)    \
  3164.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3165.  
  3166. #define IMediaSample_IsDiscontinuity(This)    \
  3167.     (This)->lpVtbl -> IsDiscontinuity(This)
  3168.  
  3169. #define IMediaSample_SetDiscontinuity(This,bDiscontinuity)    \
  3170.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3171.  
  3172. #define IMediaSample_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3173.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3174.  
  3175. #define IMediaSample_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3176.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3177.  
  3178. #endif /* COBJMACROS */
  3179.  
  3180.  
  3181. #endif     /* C style interface */
  3182.  
  3183.  
  3184.  
  3185. HRESULT STDMETHODCALLTYPE IMediaSample_GetPointer_Proxy( 
  3186.     IMediaSample * This,
  3187.     /* [out] */ BYTE **ppBuffer);
  3188.  
  3189.  
  3190. void __RPC_STUB IMediaSample_GetPointer_Stub(
  3191.     IRpcStubBuffer *This,
  3192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3193.     PRPC_MESSAGE _pRpcMessage,
  3194.     DWORD *_pdwStubPhase);
  3195.  
  3196.  
  3197. long STDMETHODCALLTYPE IMediaSample_GetSize_Proxy( 
  3198.     IMediaSample * This);
  3199.  
  3200.  
  3201. void __RPC_STUB IMediaSample_GetSize_Stub(
  3202.     IRpcStubBuffer *This,
  3203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3204.     PRPC_MESSAGE _pRpcMessage,
  3205.     DWORD *_pdwStubPhase);
  3206.  
  3207.  
  3208. HRESULT STDMETHODCALLTYPE IMediaSample_GetTime_Proxy( 
  3209.     IMediaSample * This,
  3210.     /* [out] */ REFERENCE_TIME *pTimeStart,
  3211.     /* [out] */ REFERENCE_TIME *pTimeEnd);
  3212.  
  3213.  
  3214. void __RPC_STUB IMediaSample_GetTime_Stub(
  3215.     IRpcStubBuffer *This,
  3216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3217.     PRPC_MESSAGE _pRpcMessage,
  3218.     DWORD *_pdwStubPhase);
  3219.  
  3220.  
  3221. HRESULT STDMETHODCALLTYPE IMediaSample_SetTime_Proxy( 
  3222.     IMediaSample * This,
  3223.     /* [in] */ REFERENCE_TIME *pTimeStart,
  3224.     /* [in] */ REFERENCE_TIME *pTimeEnd);
  3225.  
  3226.  
  3227. void __RPC_STUB IMediaSample_SetTime_Stub(
  3228.     IRpcStubBuffer *This,
  3229.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3230.     PRPC_MESSAGE _pRpcMessage,
  3231.     DWORD *_pdwStubPhase);
  3232.  
  3233.  
  3234. HRESULT STDMETHODCALLTYPE IMediaSample_IsSyncPoint_Proxy( 
  3235.     IMediaSample * This);
  3236.  
  3237.  
  3238. void __RPC_STUB IMediaSample_IsSyncPoint_Stub(
  3239.     IRpcStubBuffer *This,
  3240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3241.     PRPC_MESSAGE _pRpcMessage,
  3242.     DWORD *_pdwStubPhase);
  3243.  
  3244.  
  3245. HRESULT STDMETHODCALLTYPE IMediaSample_SetSyncPoint_Proxy( 
  3246.     IMediaSample * This,
  3247.     BOOL bIsSyncPoint);
  3248.  
  3249.  
  3250. void __RPC_STUB IMediaSample_SetSyncPoint_Stub(
  3251.     IRpcStubBuffer *This,
  3252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3253.     PRPC_MESSAGE _pRpcMessage,
  3254.     DWORD *_pdwStubPhase);
  3255.  
  3256.  
  3257. HRESULT STDMETHODCALLTYPE IMediaSample_IsPreroll_Proxy( 
  3258.     IMediaSample * This);
  3259.  
  3260.  
  3261. void __RPC_STUB IMediaSample_IsPreroll_Stub(
  3262.     IRpcStubBuffer *This,
  3263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3264.     PRPC_MESSAGE _pRpcMessage,
  3265.     DWORD *_pdwStubPhase);
  3266.  
  3267.  
  3268. HRESULT STDMETHODCALLTYPE IMediaSample_SetPreroll_Proxy( 
  3269.     IMediaSample * This,
  3270.     BOOL bIsPreroll);
  3271.  
  3272.  
  3273. void __RPC_STUB IMediaSample_SetPreroll_Stub(
  3274.     IRpcStubBuffer *This,
  3275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3276.     PRPC_MESSAGE _pRpcMessage,
  3277.     DWORD *_pdwStubPhase);
  3278.  
  3279.  
  3280. long STDMETHODCALLTYPE IMediaSample_GetActualDataLength_Proxy( 
  3281.     IMediaSample * This);
  3282.  
  3283.  
  3284. void __RPC_STUB IMediaSample_GetActualDataLength_Stub(
  3285.     IRpcStubBuffer *This,
  3286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3287.     PRPC_MESSAGE _pRpcMessage,
  3288.     DWORD *_pdwStubPhase);
  3289.  
  3290.  
  3291. HRESULT STDMETHODCALLTYPE IMediaSample_SetActualDataLength_Proxy( 
  3292.     IMediaSample * This,
  3293.     long __MIDL_0010);
  3294.  
  3295.  
  3296. void __RPC_STUB IMediaSample_SetActualDataLength_Stub(
  3297.     IRpcStubBuffer *This,
  3298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3299.     PRPC_MESSAGE _pRpcMessage,
  3300.     DWORD *_pdwStubPhase);
  3301.  
  3302.  
  3303. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaType_Proxy( 
  3304.     IMediaSample * This,
  3305.     AM_MEDIA_TYPE **ppMediaType);
  3306.  
  3307.  
  3308. void __RPC_STUB IMediaSample_GetMediaType_Stub(
  3309.     IRpcStubBuffer *This,
  3310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3311.     PRPC_MESSAGE _pRpcMessage,
  3312.     DWORD *_pdwStubPhase);
  3313.  
  3314.  
  3315. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaType_Proxy( 
  3316.     IMediaSample * This,
  3317.     AM_MEDIA_TYPE *pMediaType);
  3318.  
  3319.  
  3320. void __RPC_STUB IMediaSample_SetMediaType_Stub(
  3321.     IRpcStubBuffer *This,
  3322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3323.     PRPC_MESSAGE _pRpcMessage,
  3324.     DWORD *_pdwStubPhase);
  3325.  
  3326.  
  3327. HRESULT STDMETHODCALLTYPE IMediaSample_IsDiscontinuity_Proxy( 
  3328.     IMediaSample * This);
  3329.  
  3330.  
  3331. void __RPC_STUB IMediaSample_IsDiscontinuity_Stub(
  3332.     IRpcStubBuffer *This,
  3333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3334.     PRPC_MESSAGE _pRpcMessage,
  3335.     DWORD *_pdwStubPhase);
  3336.  
  3337.  
  3338. HRESULT STDMETHODCALLTYPE IMediaSample_SetDiscontinuity_Proxy( 
  3339.     IMediaSample * This,
  3340.     BOOL bDiscontinuity);
  3341.  
  3342.  
  3343. void __RPC_STUB IMediaSample_SetDiscontinuity_Stub(
  3344.     IRpcStubBuffer *This,
  3345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3346.     PRPC_MESSAGE _pRpcMessage,
  3347.     DWORD *_pdwStubPhase);
  3348.  
  3349.  
  3350. HRESULT STDMETHODCALLTYPE IMediaSample_GetMediaTime_Proxy( 
  3351.     IMediaSample * This,
  3352.     /* [out] */ LONGLONG *pTimeStart,
  3353.     /* [out] */ LONGLONG *pTimeEnd);
  3354.  
  3355.  
  3356. void __RPC_STUB IMediaSample_GetMediaTime_Stub(
  3357.     IRpcStubBuffer *This,
  3358.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3359.     PRPC_MESSAGE _pRpcMessage,
  3360.     DWORD *_pdwStubPhase);
  3361.  
  3362.  
  3363. HRESULT STDMETHODCALLTYPE IMediaSample_SetMediaTime_Proxy( 
  3364.     IMediaSample * This,
  3365.     /* [in] */ LONGLONG *pTimeStart,
  3366.     /* [in] */ LONGLONG *pTimeEnd);
  3367.  
  3368.  
  3369. void __RPC_STUB IMediaSample_SetMediaTime_Stub(
  3370.     IRpcStubBuffer *This,
  3371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3372.     PRPC_MESSAGE _pRpcMessage,
  3373.     DWORD *_pdwStubPhase);
  3374.  
  3375.  
  3376.  
  3377. #endif     /* __IMediaSample_INTERFACE_DEFINED__ */
  3378.  
  3379.  
  3380. /* interface __MIDL_itf_strmif_0122 */
  3381. /* [local] */ 
  3382.  
  3383. typedef IMediaSample *PMEDIASAMPLE;
  3384.  
  3385.  
  3386. enum tagAM_SAMPLE_PROPERTY_FLAGS
  3387.     {    AM_SAMPLE_SPLICEPOINT    = 0x1,
  3388.     AM_SAMPLE_PREROLL    = 0x2,
  3389.     AM_SAMPLE_DATADISCONTINUITY    = 0x4,
  3390.     AM_SAMPLE_TYPECHANGED    = 0x8,
  3391.     AM_SAMPLE_TIMEVALID    = 0x10,
  3392.     AM_SAMPLE_TIMEDISCONTINUITY    = 0x40,
  3393.     AM_SAMPLE_FLUSH_ON_PAUSE    = 0x80,
  3394.     AM_SAMPLE_STOPVALID    = 0x100,
  3395.     AM_SAMPLE_ENDOFSTREAM    = 0x200,
  3396.     AM_STREAM_MEDIA    = 0,
  3397.     AM_STREAM_CONTROL    = 1
  3398.     } ;
  3399. typedef struct tagAM_SAMPLE2_PROPERTIES
  3400.     {
  3401.     DWORD cbData;
  3402.     DWORD dwTypeSpecificFlags;
  3403.     DWORD dwSampleFlags;
  3404.     LONG lActual;
  3405.     REFERENCE_TIME tStart;
  3406.     REFERENCE_TIME tStop;
  3407.     DWORD dwStreamId;
  3408.     AM_MEDIA_TYPE *pMediaType;
  3409.     BYTE *pbBuffer;
  3410.     LONG cbBuffer;
  3411.     }     AM_SAMPLE2_PROPERTIES;
  3412.  
  3413.  
  3414.  
  3415. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_c_ifspec;
  3416. extern RPC_IF_HANDLE __MIDL_itf_strmif_0122_v0_0_s_ifspec;
  3417.  
  3418. #ifndef __IMediaSample2_INTERFACE_DEFINED__
  3419. #define __IMediaSample2_INTERFACE_DEFINED__
  3420.  
  3421. /* interface IMediaSample2 */
  3422. /* [unique][uuid][object][local] */ 
  3423.  
  3424.  
  3425. EXTERN_C const IID IID_IMediaSample2;
  3426.  
  3427. #if defined(__cplusplus) && !defined(CINTERFACE)
  3428.     
  3429.     MIDL_INTERFACE("36b73884-c2c8-11cf-8b46-00805f6cef60")
  3430.     IMediaSample2 : public IMediaSample
  3431.     {
  3432.     public:
  3433.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3434.             /* [in] */ DWORD cbProperties,
  3435.             /* [size_is][out] */ BYTE *pbProperties) = 0;
  3436.         
  3437.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3438.             /* [in] */ DWORD cbProperties,
  3439.             /* [size_is][in] */ const BYTE *pbProperties) = 0;
  3440.         
  3441.     };
  3442.     
  3443. #else     /* C style interface */
  3444.  
  3445.     typedef struct IMediaSample2Vtbl
  3446.     {
  3447.         BEGIN_INTERFACE
  3448.         
  3449.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3450.             IMediaSample2 * This,
  3451.             /* [in] */ REFIID riid,
  3452.             /* [iid_is][out] */ void **ppvObject);
  3453.         
  3454.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3455.             IMediaSample2 * This);
  3456.         
  3457.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3458.             IMediaSample2 * This);
  3459.         
  3460.         HRESULT ( STDMETHODCALLTYPE *GetPointer )( 
  3461.             IMediaSample2 * This,
  3462.             /* [out] */ BYTE **ppBuffer);
  3463.         
  3464.         long ( STDMETHODCALLTYPE *GetSize )( 
  3465.             IMediaSample2 * This);
  3466.         
  3467.         HRESULT ( STDMETHODCALLTYPE *GetTime )( 
  3468.             IMediaSample2 * This,
  3469.             /* [out] */ REFERENCE_TIME *pTimeStart,
  3470.             /* [out] */ REFERENCE_TIME *pTimeEnd);
  3471.         
  3472.         HRESULT ( STDMETHODCALLTYPE *SetTime )( 
  3473.             IMediaSample2 * This,
  3474.             /* [in] */ REFERENCE_TIME *pTimeStart,
  3475.             /* [in] */ REFERENCE_TIME *pTimeEnd);
  3476.         
  3477.         HRESULT ( STDMETHODCALLTYPE *IsSyncPoint )( 
  3478.             IMediaSample2 * This);
  3479.         
  3480.         HRESULT ( STDMETHODCALLTYPE *SetSyncPoint )( 
  3481.             IMediaSample2 * This,
  3482.             BOOL bIsSyncPoint);
  3483.         
  3484.         HRESULT ( STDMETHODCALLTYPE *IsPreroll )( 
  3485.             IMediaSample2 * This);
  3486.         
  3487.         HRESULT ( STDMETHODCALLTYPE *SetPreroll )( 
  3488.             IMediaSample2 * This,
  3489.             BOOL bIsPreroll);
  3490.         
  3491.         long ( STDMETHODCALLTYPE *GetActualDataLength )( 
  3492.             IMediaSample2 * This);
  3493.         
  3494.         HRESULT ( STDMETHODCALLTYPE *SetActualDataLength )( 
  3495.             IMediaSample2 * This,
  3496.             long __MIDL_0010);
  3497.         
  3498.         HRESULT ( STDMETHODCALLTYPE *GetMediaType )( 
  3499.             IMediaSample2 * This,
  3500.             AM_MEDIA_TYPE **ppMediaType);
  3501.         
  3502.         HRESULT ( STDMETHODCALLTYPE *SetMediaType )( 
  3503.             IMediaSample2 * This,
  3504.             AM_MEDIA_TYPE *pMediaType);
  3505.         
  3506.         HRESULT ( STDMETHODCALLTYPE *IsDiscontinuity )( 
  3507.             IMediaSample2 * This);
  3508.         
  3509.         HRESULT ( STDMETHODCALLTYPE *SetDiscontinuity )( 
  3510.             IMediaSample2 * This,
  3511.             BOOL bDiscontinuity);
  3512.         
  3513.         HRESULT ( STDMETHODCALLTYPE *GetMediaTime )( 
  3514.             IMediaSample2 * This,
  3515.             /* [out] */ LONGLONG *pTimeStart,
  3516.             /* [out] */ LONGLONG *pTimeEnd);
  3517.         
  3518.         HRESULT ( STDMETHODCALLTYPE *SetMediaTime )( 
  3519.             IMediaSample2 * This,
  3520.             /* [in] */ LONGLONG *pTimeStart,
  3521.             /* [in] */ LONGLONG *pTimeEnd);
  3522.         
  3523.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3524.             IMediaSample2 * This,
  3525.             /* [in] */ DWORD cbProperties,
  3526.             /* [size_is][out] */ BYTE *pbProperties);
  3527.         
  3528.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3529.             IMediaSample2 * This,
  3530.             /* [in] */ DWORD cbProperties,
  3531.             /* [size_is][in] */ const BYTE *pbProperties);
  3532.         
  3533.         END_INTERFACE
  3534.     } IMediaSample2Vtbl;
  3535.  
  3536.     interface IMediaSample2
  3537.     {
  3538.         CONST_VTBL struct IMediaSample2Vtbl *lpVtbl;
  3539.     };
  3540.  
  3541.     
  3542.  
  3543. #ifdef COBJMACROS
  3544.  
  3545.  
  3546. #define IMediaSample2_QueryInterface(This,riid,ppvObject)    \
  3547.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3548.  
  3549. #define IMediaSample2_AddRef(This)    \
  3550.     (This)->lpVtbl -> AddRef(This)
  3551.  
  3552. #define IMediaSample2_Release(This)    \
  3553.     (This)->lpVtbl -> Release(This)
  3554.  
  3555.  
  3556. #define IMediaSample2_GetPointer(This,ppBuffer)    \
  3557.     (This)->lpVtbl -> GetPointer(This,ppBuffer)
  3558.  
  3559. #define IMediaSample2_GetSize(This)    \
  3560.     (This)->lpVtbl -> GetSize(This)
  3561.  
  3562. #define IMediaSample2_GetTime(This,pTimeStart,pTimeEnd)    \
  3563.     (This)->lpVtbl -> GetTime(This,pTimeStart,pTimeEnd)
  3564.  
  3565. #define IMediaSample2_SetTime(This,pTimeStart,pTimeEnd)    \
  3566.     (This)->lpVtbl -> SetTime(This,pTimeStart,pTimeEnd)
  3567.  
  3568. #define IMediaSample2_IsSyncPoint(This)    \
  3569.     (This)->lpVtbl -> IsSyncPoint(This)
  3570.  
  3571. #define IMediaSample2_SetSyncPoint(This,bIsSyncPoint)    \
  3572.     (This)->lpVtbl -> SetSyncPoint(This,bIsSyncPoint)
  3573.  
  3574. #define IMediaSample2_IsPreroll(This)    \
  3575.     (This)->lpVtbl -> IsPreroll(This)
  3576.  
  3577. #define IMediaSample2_SetPreroll(This,bIsPreroll)    \
  3578.     (This)->lpVtbl -> SetPreroll(This,bIsPreroll)
  3579.  
  3580. #define IMediaSample2_GetActualDataLength(This)    \
  3581.     (This)->lpVtbl -> GetActualDataLength(This)
  3582.  
  3583. #define IMediaSample2_SetActualDataLength(This,__MIDL_0010)    \
  3584.     (This)->lpVtbl -> SetActualDataLength(This,__MIDL_0010)
  3585.  
  3586. #define IMediaSample2_GetMediaType(This,ppMediaType)    \
  3587.     (This)->lpVtbl -> GetMediaType(This,ppMediaType)
  3588.  
  3589. #define IMediaSample2_SetMediaType(This,pMediaType)    \
  3590.     (This)->lpVtbl -> SetMediaType(This,pMediaType)
  3591.  
  3592. #define IMediaSample2_IsDiscontinuity(This)    \
  3593.     (This)->lpVtbl -> IsDiscontinuity(This)
  3594.  
  3595. #define IMediaSample2_SetDiscontinuity(This,bDiscontinuity)    \
  3596.     (This)->lpVtbl -> SetDiscontinuity(This,bDiscontinuity)
  3597.  
  3598. #define IMediaSample2_GetMediaTime(This,pTimeStart,pTimeEnd)    \
  3599.     (This)->lpVtbl -> GetMediaTime(This,pTimeStart,pTimeEnd)
  3600.  
  3601. #define IMediaSample2_SetMediaTime(This,pTimeStart,pTimeEnd)    \
  3602.     (This)->lpVtbl -> SetMediaTime(This,pTimeStart,pTimeEnd)
  3603.  
  3604.  
  3605. #define IMediaSample2_GetProperties(This,cbProperties,pbProperties)    \
  3606.     (This)->lpVtbl -> GetProperties(This,cbProperties,pbProperties)
  3607.  
  3608. #define IMediaSample2_SetProperties(This,cbProperties,pbProperties)    \
  3609.     (This)->lpVtbl -> SetProperties(This,cbProperties,pbProperties)
  3610.  
  3611. #endif /* COBJMACROS */
  3612.  
  3613.  
  3614. #endif     /* C style interface */
  3615.  
  3616.  
  3617.  
  3618. HRESULT STDMETHODCALLTYPE IMediaSample2_GetProperties_Proxy( 
  3619.     IMediaSample2 * This,
  3620.     /* [in] */ DWORD cbProperties,
  3621.     /* [size_is][out] */ BYTE *pbProperties);
  3622.  
  3623.  
  3624. void __RPC_STUB IMediaSample2_GetProperties_Stub(
  3625.     IRpcStubBuffer *This,
  3626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3627.     PRPC_MESSAGE _pRpcMessage,
  3628.     DWORD *_pdwStubPhase);
  3629.  
  3630.  
  3631. HRESULT STDMETHODCALLTYPE IMediaSample2_SetProperties_Proxy( 
  3632.     IMediaSample2 * This,
  3633.     /* [in] */ DWORD cbProperties,
  3634.     /* [size_is][in] */ const BYTE *pbProperties);
  3635.  
  3636.  
  3637. void __RPC_STUB IMediaSample2_SetProperties_Stub(
  3638.     IRpcStubBuffer *This,
  3639.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3640.     PRPC_MESSAGE _pRpcMessage,
  3641.     DWORD *_pdwStubPhase);
  3642.  
  3643.  
  3644.  
  3645. #endif     /* __IMediaSample2_INTERFACE_DEFINED__ */
  3646.  
  3647.  
  3648. /* interface __MIDL_itf_strmif_0123 */
  3649. /* [local] */ 
  3650.  
  3651. typedef IMediaSample2 *PMEDIASAMPLE2;
  3652.  
  3653. #define AM_GBF_PREVFRAMESKIPPED 1
  3654. #define AM_GBF_NOTASYNCPOINT 2
  3655. #define AM_GBF_NOWAIT 4
  3656. #define AM_GBF_NODDSURFACELOCK 8
  3657.  
  3658.  
  3659. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_c_ifspec;
  3660. extern RPC_IF_HANDLE __MIDL_itf_strmif_0123_v0_0_s_ifspec;
  3661.  
  3662. #ifndef __IMemAllocator_INTERFACE_DEFINED__
  3663. #define __IMemAllocator_INTERFACE_DEFINED__
  3664.  
  3665. /* interface IMemAllocator */
  3666. /* [unique][uuid][object] */ 
  3667.  
  3668.  
  3669. EXTERN_C const IID IID_IMemAllocator;
  3670.  
  3671. #if defined(__cplusplus) && !defined(CINTERFACE)
  3672.     
  3673.     MIDL_INTERFACE("56a8689c-0ad4-11ce-b03a-0020af0ba770")
  3674.     IMemAllocator : public IUnknown
  3675.     {
  3676.     public:
  3677.         virtual HRESULT STDMETHODCALLTYPE SetProperties( 
  3678.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3679.             /* [out] */ ALLOCATOR_PROPERTIES *pActual) = 0;
  3680.         
  3681.         virtual HRESULT STDMETHODCALLTYPE GetProperties( 
  3682.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  3683.         
  3684.         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
  3685.         
  3686.         virtual HRESULT STDMETHODCALLTYPE Decommit( void) = 0;
  3687.         
  3688.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  3689.             /* [out] */ IMediaSample **ppBuffer,
  3690.             /* [in] */ REFERENCE_TIME *pStartTime,
  3691.             /* [in] */ REFERENCE_TIME *pEndTime,
  3692.             /* [in] */ DWORD dwFlags) = 0;
  3693.         
  3694.         virtual HRESULT STDMETHODCALLTYPE ReleaseBuffer( 
  3695.             /* [in] */ IMediaSample *pBuffer) = 0;
  3696.         
  3697.     };
  3698.     
  3699. #else     /* C style interface */
  3700.  
  3701.     typedef struct IMemAllocatorVtbl
  3702.     {
  3703.         BEGIN_INTERFACE
  3704.         
  3705.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3706.             IMemAllocator * This,
  3707.             /* [in] */ REFIID riid,
  3708.             /* [iid_is][out] */ void **ppvObject);
  3709.         
  3710.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3711.             IMemAllocator * This);
  3712.         
  3713.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3714.             IMemAllocator * This);
  3715.         
  3716.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3717.             IMemAllocator * This,
  3718.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3719.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3720.         
  3721.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3722.             IMemAllocator * This,
  3723.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3724.         
  3725.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3726.             IMemAllocator * This);
  3727.         
  3728.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3729.             IMemAllocator * This);
  3730.         
  3731.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3732.             IMemAllocator * This,
  3733.             /* [out] */ IMediaSample **ppBuffer,
  3734.             /* [in] */ REFERENCE_TIME *pStartTime,
  3735.             /* [in] */ REFERENCE_TIME *pEndTime,
  3736.             /* [in] */ DWORD dwFlags);
  3737.         
  3738.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3739.             IMemAllocator * This,
  3740.             /* [in] */ IMediaSample *pBuffer);
  3741.         
  3742.         END_INTERFACE
  3743.     } IMemAllocatorVtbl;
  3744.  
  3745.     interface IMemAllocator
  3746.     {
  3747.         CONST_VTBL struct IMemAllocatorVtbl *lpVtbl;
  3748.     };
  3749.  
  3750.     
  3751.  
  3752. #ifdef COBJMACROS
  3753.  
  3754.  
  3755. #define IMemAllocator_QueryInterface(This,riid,ppvObject)    \
  3756.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3757.  
  3758. #define IMemAllocator_AddRef(This)    \
  3759.     (This)->lpVtbl -> AddRef(This)
  3760.  
  3761. #define IMemAllocator_Release(This)    \
  3762.     (This)->lpVtbl -> Release(This)
  3763.  
  3764.  
  3765. #define IMemAllocator_SetProperties(This,pRequest,pActual)    \
  3766.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3767.  
  3768. #define IMemAllocator_GetProperties(This,pProps)    \
  3769.     (This)->lpVtbl -> GetProperties(This,pProps)
  3770.  
  3771. #define IMemAllocator_Commit(This)    \
  3772.     (This)->lpVtbl -> Commit(This)
  3773.  
  3774. #define IMemAllocator_Decommit(This)    \
  3775.     (This)->lpVtbl -> Decommit(This)
  3776.  
  3777. #define IMemAllocator_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3778.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3779.  
  3780. #define IMemAllocator_ReleaseBuffer(This,pBuffer)    \
  3781.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3782.  
  3783. #endif /* COBJMACROS */
  3784.  
  3785.  
  3786. #endif     /* C style interface */
  3787.  
  3788.  
  3789.  
  3790. HRESULT STDMETHODCALLTYPE IMemAllocator_SetProperties_Proxy( 
  3791.     IMemAllocator * This,
  3792.     /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3793.     /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3794.  
  3795.  
  3796. void __RPC_STUB IMemAllocator_SetProperties_Stub(
  3797.     IRpcStubBuffer *This,
  3798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3799.     PRPC_MESSAGE _pRpcMessage,
  3800.     DWORD *_pdwStubPhase);
  3801.  
  3802.  
  3803. HRESULT STDMETHODCALLTYPE IMemAllocator_GetProperties_Proxy( 
  3804.     IMemAllocator * This,
  3805.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3806.  
  3807.  
  3808. void __RPC_STUB IMemAllocator_GetProperties_Stub(
  3809.     IRpcStubBuffer *This,
  3810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3811.     PRPC_MESSAGE _pRpcMessage,
  3812.     DWORD *_pdwStubPhase);
  3813.  
  3814.  
  3815. HRESULT STDMETHODCALLTYPE IMemAllocator_Commit_Proxy( 
  3816.     IMemAllocator * This);
  3817.  
  3818.  
  3819. void __RPC_STUB IMemAllocator_Commit_Stub(
  3820.     IRpcStubBuffer *This,
  3821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3822.     PRPC_MESSAGE _pRpcMessage,
  3823.     DWORD *_pdwStubPhase);
  3824.  
  3825.  
  3826. HRESULT STDMETHODCALLTYPE IMemAllocator_Decommit_Proxy( 
  3827.     IMemAllocator * This);
  3828.  
  3829.  
  3830. void __RPC_STUB IMemAllocator_Decommit_Stub(
  3831.     IRpcStubBuffer *This,
  3832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3833.     PRPC_MESSAGE _pRpcMessage,
  3834.     DWORD *_pdwStubPhase);
  3835.  
  3836.  
  3837. HRESULT STDMETHODCALLTYPE IMemAllocator_GetBuffer_Proxy( 
  3838.     IMemAllocator * This,
  3839.     /* [out] */ IMediaSample **ppBuffer,
  3840.     /* [in] */ REFERENCE_TIME *pStartTime,
  3841.     /* [in] */ REFERENCE_TIME *pEndTime,
  3842.     /* [in] */ DWORD dwFlags);
  3843.  
  3844.  
  3845. void __RPC_STUB IMemAllocator_GetBuffer_Stub(
  3846.     IRpcStubBuffer *This,
  3847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3848.     PRPC_MESSAGE _pRpcMessage,
  3849.     DWORD *_pdwStubPhase);
  3850.  
  3851.  
  3852. HRESULT STDMETHODCALLTYPE IMemAllocator_ReleaseBuffer_Proxy( 
  3853.     IMemAllocator * This,
  3854.     /* [in] */ IMediaSample *pBuffer);
  3855.  
  3856.  
  3857. void __RPC_STUB IMemAllocator_ReleaseBuffer_Stub(
  3858.     IRpcStubBuffer *This,
  3859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3860.     PRPC_MESSAGE _pRpcMessage,
  3861.     DWORD *_pdwStubPhase);
  3862.  
  3863.  
  3864.  
  3865. #endif     /* __IMemAllocator_INTERFACE_DEFINED__ */
  3866.  
  3867.  
  3868. /* interface __MIDL_itf_strmif_0124 */
  3869. /* [local] */ 
  3870.  
  3871. typedef IMemAllocator *PMEMALLOCATOR;
  3872.  
  3873.  
  3874.  
  3875. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_c_ifspec;
  3876. extern RPC_IF_HANDLE __MIDL_itf_strmif_0124_v0_0_s_ifspec;
  3877.  
  3878. #ifndef __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3879. #define __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__
  3880.  
  3881. /* interface IMemAllocatorCallbackTemp */
  3882. /* [unique][uuid][object] */ 
  3883.  
  3884.  
  3885. EXTERN_C const IID IID_IMemAllocatorCallbackTemp;
  3886.  
  3887. #if defined(__cplusplus) && !defined(CINTERFACE)
  3888.     
  3889.     MIDL_INTERFACE("379a0cf0-c1de-11d2-abf5-00a0c905f375")
  3890.     IMemAllocatorCallbackTemp : public IMemAllocator
  3891.     {
  3892.     public:
  3893.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  3894.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify) = 0;
  3895.         
  3896.         virtual HRESULT STDMETHODCALLTYPE GetFreeCount( 
  3897.             /* [out] */ LONG *plBuffersFree) = 0;
  3898.         
  3899.     };
  3900.     
  3901. #else     /* C style interface */
  3902.  
  3903.     typedef struct IMemAllocatorCallbackTempVtbl
  3904.     {
  3905.         BEGIN_INTERFACE
  3906.         
  3907.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3908.             IMemAllocatorCallbackTemp * This,
  3909.             /* [in] */ REFIID riid,
  3910.             /* [iid_is][out] */ void **ppvObject);
  3911.         
  3912.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3913.             IMemAllocatorCallbackTemp * This);
  3914.         
  3915.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3916.             IMemAllocatorCallbackTemp * This);
  3917.         
  3918.         HRESULT ( STDMETHODCALLTYPE *SetProperties )( 
  3919.             IMemAllocatorCallbackTemp * This,
  3920.             /* [in] */ ALLOCATOR_PROPERTIES *pRequest,
  3921.             /* [out] */ ALLOCATOR_PROPERTIES *pActual);
  3922.         
  3923.         HRESULT ( STDMETHODCALLTYPE *GetProperties )( 
  3924.             IMemAllocatorCallbackTemp * This,
  3925.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  3926.         
  3927.         HRESULT ( STDMETHODCALLTYPE *Commit )( 
  3928.             IMemAllocatorCallbackTemp * This);
  3929.         
  3930.         HRESULT ( STDMETHODCALLTYPE *Decommit )( 
  3931.             IMemAllocatorCallbackTemp * This);
  3932.         
  3933.         HRESULT ( STDMETHODCALLTYPE *GetBuffer )( 
  3934.             IMemAllocatorCallbackTemp * This,
  3935.             /* [out] */ IMediaSample **ppBuffer,
  3936.             /* [in] */ REFERENCE_TIME *pStartTime,
  3937.             /* [in] */ REFERENCE_TIME *pEndTime,
  3938.             /* [in] */ DWORD dwFlags);
  3939.         
  3940.         HRESULT ( STDMETHODCALLTYPE *ReleaseBuffer )( 
  3941.             IMemAllocatorCallbackTemp * This,
  3942.             /* [in] */ IMediaSample *pBuffer);
  3943.         
  3944.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  3945.             IMemAllocatorCallbackTemp * This,
  3946.             /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  3947.         
  3948.         HRESULT ( STDMETHODCALLTYPE *GetFreeCount )( 
  3949.             IMemAllocatorCallbackTemp * This,
  3950.             /* [out] */ LONG *plBuffersFree);
  3951.         
  3952.         END_INTERFACE
  3953.     } IMemAllocatorCallbackTempVtbl;
  3954.  
  3955.     interface IMemAllocatorCallbackTemp
  3956.     {
  3957.         CONST_VTBL struct IMemAllocatorCallbackTempVtbl *lpVtbl;
  3958.     };
  3959.  
  3960.     
  3961.  
  3962. #ifdef COBJMACROS
  3963.  
  3964.  
  3965. #define IMemAllocatorCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  3966.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3967.  
  3968. #define IMemAllocatorCallbackTemp_AddRef(This)    \
  3969.     (This)->lpVtbl -> AddRef(This)
  3970.  
  3971. #define IMemAllocatorCallbackTemp_Release(This)    \
  3972.     (This)->lpVtbl -> Release(This)
  3973.  
  3974.  
  3975. #define IMemAllocatorCallbackTemp_SetProperties(This,pRequest,pActual)    \
  3976.     (This)->lpVtbl -> SetProperties(This,pRequest,pActual)
  3977.  
  3978. #define IMemAllocatorCallbackTemp_GetProperties(This,pProps)    \
  3979.     (This)->lpVtbl -> GetProperties(This,pProps)
  3980.  
  3981. #define IMemAllocatorCallbackTemp_Commit(This)    \
  3982.     (This)->lpVtbl -> Commit(This)
  3983.  
  3984. #define IMemAllocatorCallbackTemp_Decommit(This)    \
  3985.     (This)->lpVtbl -> Decommit(This)
  3986.  
  3987. #define IMemAllocatorCallbackTemp_GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)    \
  3988.     (This)->lpVtbl -> GetBuffer(This,ppBuffer,pStartTime,pEndTime,dwFlags)
  3989.  
  3990. #define IMemAllocatorCallbackTemp_ReleaseBuffer(This,pBuffer)    \
  3991.     (This)->lpVtbl -> ReleaseBuffer(This,pBuffer)
  3992.  
  3993.  
  3994. #define IMemAllocatorCallbackTemp_SetNotify(This,pNotify)    \
  3995.     (This)->lpVtbl -> SetNotify(This,pNotify)
  3996.  
  3997. #define IMemAllocatorCallbackTemp_GetFreeCount(This,plBuffersFree)    \
  3998.     (This)->lpVtbl -> GetFreeCount(This,plBuffersFree)
  3999.  
  4000. #endif /* COBJMACROS */
  4001.  
  4002.  
  4003. #endif     /* C style interface */
  4004.  
  4005.  
  4006.  
  4007. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_SetNotify_Proxy( 
  4008.     IMemAllocatorCallbackTemp * This,
  4009.     /* [in] */ IMemAllocatorNotifyCallbackTemp *pNotify);
  4010.  
  4011.  
  4012. void __RPC_STUB IMemAllocatorCallbackTemp_SetNotify_Stub(
  4013.     IRpcStubBuffer *This,
  4014.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4015.     PRPC_MESSAGE _pRpcMessage,
  4016.     DWORD *_pdwStubPhase);
  4017.  
  4018.  
  4019. HRESULT STDMETHODCALLTYPE IMemAllocatorCallbackTemp_GetFreeCount_Proxy( 
  4020.     IMemAllocatorCallbackTemp * This,
  4021.     /* [out] */ LONG *plBuffersFree);
  4022.  
  4023.  
  4024. void __RPC_STUB IMemAllocatorCallbackTemp_GetFreeCount_Stub(
  4025.     IRpcStubBuffer *This,
  4026.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4027.     PRPC_MESSAGE _pRpcMessage,
  4028.     DWORD *_pdwStubPhase);
  4029.  
  4030.  
  4031.  
  4032. #endif     /* __IMemAllocatorCallbackTemp_INTERFACE_DEFINED__ */
  4033.  
  4034.  
  4035. #ifndef __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4036. #define __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__
  4037.  
  4038. /* interface IMemAllocatorNotifyCallbackTemp */
  4039. /* [unique][uuid][object] */ 
  4040.  
  4041.  
  4042. EXTERN_C const IID IID_IMemAllocatorNotifyCallbackTemp;
  4043.  
  4044. #if defined(__cplusplus) && !defined(CINTERFACE)
  4045.     
  4046.     MIDL_INTERFACE("92980b30-c1de-11d2-abf5-00a0c905f375")
  4047.     IMemAllocatorNotifyCallbackTemp : public IUnknown
  4048.     {
  4049.     public:
  4050.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
  4051.         
  4052.     };
  4053.     
  4054. #else     /* C style interface */
  4055.  
  4056.     typedef struct IMemAllocatorNotifyCallbackTempVtbl
  4057.     {
  4058.         BEGIN_INTERFACE
  4059.         
  4060.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4061.             IMemAllocatorNotifyCallbackTemp * This,
  4062.             /* [in] */ REFIID riid,
  4063.             /* [iid_is][out] */ void **ppvObject);
  4064.         
  4065.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4066.             IMemAllocatorNotifyCallbackTemp * This);
  4067.         
  4068.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4069.             IMemAllocatorNotifyCallbackTemp * This);
  4070.         
  4071.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  4072.             IMemAllocatorNotifyCallbackTemp * This);
  4073.         
  4074.         END_INTERFACE
  4075.     } IMemAllocatorNotifyCallbackTempVtbl;
  4076.  
  4077.     interface IMemAllocatorNotifyCallbackTemp
  4078.     {
  4079.         CONST_VTBL struct IMemAllocatorNotifyCallbackTempVtbl *lpVtbl;
  4080.     };
  4081.  
  4082.     
  4083.  
  4084. #ifdef COBJMACROS
  4085.  
  4086.  
  4087. #define IMemAllocatorNotifyCallbackTemp_QueryInterface(This,riid,ppvObject)    \
  4088.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4089.  
  4090. #define IMemAllocatorNotifyCallbackTemp_AddRef(This)    \
  4091.     (This)->lpVtbl -> AddRef(This)
  4092.  
  4093. #define IMemAllocatorNotifyCallbackTemp_Release(This)    \
  4094.     (This)->lpVtbl -> Release(This)
  4095.  
  4096.  
  4097. #define IMemAllocatorNotifyCallbackTemp_NotifyRelease(This)    \
  4098.     (This)->lpVtbl -> NotifyRelease(This)
  4099.  
  4100. #endif /* COBJMACROS */
  4101.  
  4102.  
  4103. #endif     /* C style interface */
  4104.  
  4105.  
  4106.  
  4107. HRESULT STDMETHODCALLTYPE IMemAllocatorNotifyCallbackTemp_NotifyRelease_Proxy( 
  4108.     IMemAllocatorNotifyCallbackTemp * This);
  4109.  
  4110.  
  4111. void __RPC_STUB IMemAllocatorNotifyCallbackTemp_NotifyRelease_Stub(
  4112.     IRpcStubBuffer *This,
  4113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4114.     PRPC_MESSAGE _pRpcMessage,
  4115.     DWORD *_pdwStubPhase);
  4116.  
  4117.  
  4118.  
  4119. #endif     /* __IMemAllocatorNotifyCallbackTemp_INTERFACE_DEFINED__ */
  4120.  
  4121.  
  4122. #ifndef __IMemInputPin_INTERFACE_DEFINED__
  4123. #define __IMemInputPin_INTERFACE_DEFINED__
  4124.  
  4125. /* interface IMemInputPin */
  4126. /* [unique][uuid][object] */ 
  4127.  
  4128.  
  4129. EXTERN_C const IID IID_IMemInputPin;
  4130.  
  4131. #if defined(__cplusplus) && !defined(CINTERFACE)
  4132.     
  4133.     MIDL_INTERFACE("56a8689d-0ad4-11ce-b03a-0020af0ba770")
  4134.     IMemInputPin : public IUnknown
  4135.     {
  4136.     public:
  4137.         virtual HRESULT STDMETHODCALLTYPE GetAllocator( 
  4138.             /* [out] */ IMemAllocator **ppAllocator) = 0;
  4139.         
  4140.         virtual HRESULT STDMETHODCALLTYPE NotifyAllocator( 
  4141.             /* [in] */ IMemAllocator *pAllocator,
  4142.             /* [in] */ BOOL bReadOnly) = 0;
  4143.         
  4144.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorRequirements( 
  4145.             /* [out] */ ALLOCATOR_PROPERTIES *pProps) = 0;
  4146.         
  4147.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  4148.             /* [in] */ IMediaSample *pSample) = 0;
  4149.         
  4150.         virtual HRESULT STDMETHODCALLTYPE ReceiveMultiple( 
  4151.             /* [size_is][in] */ IMediaSample **pSamples,
  4152.             /* [in] */ long nSamples,
  4153.             /* [out] */ long *nSamplesProcessed) = 0;
  4154.         
  4155.         virtual HRESULT STDMETHODCALLTYPE ReceiveCanBlock( void) = 0;
  4156.         
  4157.     };
  4158.     
  4159. #else     /* C style interface */
  4160.  
  4161.     typedef struct IMemInputPinVtbl
  4162.     {
  4163.         BEGIN_INTERFACE
  4164.         
  4165.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4166.             IMemInputPin * This,
  4167.             /* [in] */ REFIID riid,
  4168.             /* [iid_is][out] */ void **ppvObject);
  4169.         
  4170.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4171.             IMemInputPin * This);
  4172.         
  4173.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4174.             IMemInputPin * This);
  4175.         
  4176.         HRESULT ( STDMETHODCALLTYPE *GetAllocator )( 
  4177.             IMemInputPin * This,
  4178.             /* [out] */ IMemAllocator **ppAllocator);
  4179.         
  4180.         HRESULT ( STDMETHODCALLTYPE *NotifyAllocator )( 
  4181.             IMemInputPin * This,
  4182.             /* [in] */ IMemAllocator *pAllocator,
  4183.             /* [in] */ BOOL bReadOnly);
  4184.         
  4185.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorRequirements )( 
  4186.             IMemInputPin * This,
  4187.             /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4188.         
  4189.         HRESULT ( STDMETHODCALLTYPE *Receive )( 
  4190.             IMemInputPin * This,
  4191.             /* [in] */ IMediaSample *pSample);
  4192.         
  4193.         HRESULT ( STDMETHODCALLTYPE *ReceiveMultiple )( 
  4194.             IMemInputPin * This,
  4195.             /* [size_is][in] */ IMediaSample **pSamples,
  4196.             /* [in] */ long nSamples,
  4197.             /* [out] */ long *nSamplesProcessed);
  4198.         
  4199.         HRESULT ( STDMETHODCALLTYPE *ReceiveCanBlock )( 
  4200.             IMemInputPin * This);
  4201.         
  4202.         END_INTERFACE
  4203.     } IMemInputPinVtbl;
  4204.  
  4205.     interface IMemInputPin
  4206.     {
  4207.         CONST_VTBL struct IMemInputPinVtbl *lpVtbl;
  4208.     };
  4209.  
  4210.     
  4211.  
  4212. #ifdef COBJMACROS
  4213.  
  4214.  
  4215. #define IMemInputPin_QueryInterface(This,riid,ppvObject)    \
  4216.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4217.  
  4218. #define IMemInputPin_AddRef(This)    \
  4219.     (This)->lpVtbl -> AddRef(This)
  4220.  
  4221. #define IMemInputPin_Release(This)    \
  4222.     (This)->lpVtbl -> Release(This)
  4223.  
  4224.  
  4225. #define IMemInputPin_GetAllocator(This,ppAllocator)    \
  4226.     (This)->lpVtbl -> GetAllocator(This,ppAllocator)
  4227.  
  4228. #define IMemInputPin_NotifyAllocator(This,pAllocator,bReadOnly)    \
  4229.     (This)->lpVtbl -> NotifyAllocator(This,pAllocator,bReadOnly)
  4230.  
  4231. #define IMemInputPin_GetAllocatorRequirements(This,pProps)    \
  4232.     (This)->lpVtbl -> GetAllocatorRequirements(This,pProps)
  4233.  
  4234. #define IMemInputPin_Receive(This,pSample)    \
  4235.     (This)->lpVtbl -> Receive(This,pSample)
  4236.  
  4237. #define IMemInputPin_ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)    \
  4238.     (This)->lpVtbl -> ReceiveMultiple(This,pSamples,nSamples,nSamplesProcessed)
  4239.  
  4240. #define IMemInputPin_ReceiveCanBlock(This)    \
  4241.     (This)->lpVtbl -> ReceiveCanBlock(This)
  4242.  
  4243. #endif /* COBJMACROS */
  4244.  
  4245.  
  4246. #endif     /* C style interface */
  4247.  
  4248.  
  4249.  
  4250. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocator_Proxy( 
  4251.     IMemInputPin * This,
  4252.     /* [out] */ IMemAllocator **ppAllocator);
  4253.  
  4254.  
  4255. void __RPC_STUB IMemInputPin_GetAllocator_Stub(
  4256.     IRpcStubBuffer *This,
  4257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4258.     PRPC_MESSAGE _pRpcMessage,
  4259.     DWORD *_pdwStubPhase);
  4260.  
  4261.  
  4262. HRESULT STDMETHODCALLTYPE IMemInputPin_NotifyAllocator_Proxy( 
  4263.     IMemInputPin * This,
  4264.     /* [in] */ IMemAllocator *pAllocator,
  4265.     /* [in] */ BOOL bReadOnly);
  4266.  
  4267.  
  4268. void __RPC_STUB IMemInputPin_NotifyAllocator_Stub(
  4269.     IRpcStubBuffer *This,
  4270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4271.     PRPC_MESSAGE _pRpcMessage,
  4272.     DWORD *_pdwStubPhase);
  4273.  
  4274.  
  4275. HRESULT STDMETHODCALLTYPE IMemInputPin_GetAllocatorRequirements_Proxy( 
  4276.     IMemInputPin * This,
  4277.     /* [out] */ ALLOCATOR_PROPERTIES *pProps);
  4278.  
  4279.  
  4280. void __RPC_STUB IMemInputPin_GetAllocatorRequirements_Stub(
  4281.     IRpcStubBuffer *This,
  4282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4283.     PRPC_MESSAGE _pRpcMessage,
  4284.     DWORD *_pdwStubPhase);
  4285.  
  4286.  
  4287. HRESULT STDMETHODCALLTYPE IMemInputPin_Receive_Proxy( 
  4288.     IMemInputPin * This,
  4289.     /* [in] */ IMediaSample *pSample);
  4290.  
  4291.  
  4292. void __RPC_STUB IMemInputPin_Receive_Stub(
  4293.     IRpcStubBuffer *This,
  4294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4295.     PRPC_MESSAGE _pRpcMessage,
  4296.     DWORD *_pdwStubPhase);
  4297.  
  4298.  
  4299. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveMultiple_Proxy( 
  4300.     IMemInputPin * This,
  4301.     /* [size_is][in] */ IMediaSample **pSamples,
  4302.     /* [in] */ long nSamples,
  4303.     /* [out] */ long *nSamplesProcessed);
  4304.  
  4305.  
  4306. void __RPC_STUB IMemInputPin_ReceiveMultiple_Stub(
  4307.     IRpcStubBuffer *This,
  4308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4309.     PRPC_MESSAGE _pRpcMessage,
  4310.     DWORD *_pdwStubPhase);
  4311.  
  4312.  
  4313. HRESULT STDMETHODCALLTYPE IMemInputPin_ReceiveCanBlock_Proxy( 
  4314.     IMemInputPin * This);
  4315.  
  4316.  
  4317. void __RPC_STUB IMemInputPin_ReceiveCanBlock_Stub(
  4318.     IRpcStubBuffer *This,
  4319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4320.     PRPC_MESSAGE _pRpcMessage,
  4321.     DWORD *_pdwStubPhase);
  4322.  
  4323.  
  4324.  
  4325. #endif     /* __IMemInputPin_INTERFACE_DEFINED__ */
  4326.  
  4327.  
  4328. /* interface __MIDL_itf_strmif_0127 */
  4329. /* [local] */ 
  4330.  
  4331. typedef IMemInputPin *PMEMINPUTPIN;
  4332.  
  4333.  
  4334.  
  4335. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_c_ifspec;
  4336. extern RPC_IF_HANDLE __MIDL_itf_strmif_0127_v0_0_s_ifspec;
  4337.  
  4338. #ifndef __IAMovieSetup_INTERFACE_DEFINED__
  4339. #define __IAMovieSetup_INTERFACE_DEFINED__
  4340.  
  4341. /* interface IAMovieSetup */
  4342. /* [unique][uuid][object] */ 
  4343.  
  4344.  
  4345. EXTERN_C const IID IID_IAMovieSetup;
  4346.  
  4347. #if defined(__cplusplus) && !defined(CINTERFACE)
  4348.     
  4349.     MIDL_INTERFACE("a3d8cec0-7e5a-11cf-bbc5-00805f6cef20")
  4350.     IAMovieSetup : public IUnknown
  4351.     {
  4352.     public:
  4353.         virtual HRESULT STDMETHODCALLTYPE Register( void) = 0;
  4354.         
  4355.         virtual HRESULT STDMETHODCALLTYPE Unregister( void) = 0;
  4356.         
  4357.     };
  4358.     
  4359. #else     /* C style interface */
  4360.  
  4361.     typedef struct IAMovieSetupVtbl
  4362.     {
  4363.         BEGIN_INTERFACE
  4364.         
  4365.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4366.             IAMovieSetup * This,
  4367.             /* [in] */ REFIID riid,
  4368.             /* [iid_is][out] */ void **ppvObject);
  4369.         
  4370.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4371.             IAMovieSetup * This);
  4372.         
  4373.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4374.             IAMovieSetup * This);
  4375.         
  4376.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  4377.             IAMovieSetup * This);
  4378.         
  4379.         HRESULT ( STDMETHODCALLTYPE *Unregister )( 
  4380.             IAMovieSetup * This);
  4381.         
  4382.         END_INTERFACE
  4383.     } IAMovieSetupVtbl;
  4384.  
  4385.     interface IAMovieSetup
  4386.     {
  4387.         CONST_VTBL struct IAMovieSetupVtbl *lpVtbl;
  4388.     };
  4389.  
  4390.     
  4391.  
  4392. #ifdef COBJMACROS
  4393.  
  4394.  
  4395. #define IAMovieSetup_QueryInterface(This,riid,ppvObject)    \
  4396.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4397.  
  4398. #define IAMovieSetup_AddRef(This)    \
  4399.     (This)->lpVtbl -> AddRef(This)
  4400.  
  4401. #define IAMovieSetup_Release(This)    \
  4402.     (This)->lpVtbl -> Release(This)
  4403.  
  4404.  
  4405. #define IAMovieSetup_Register(This)    \
  4406.     (This)->lpVtbl -> Register(This)
  4407.  
  4408. #define IAMovieSetup_Unregister(This)    \
  4409.     (This)->lpVtbl -> Unregister(This)
  4410.  
  4411. #endif /* COBJMACROS */
  4412.  
  4413.  
  4414. #endif     /* C style interface */
  4415.  
  4416.  
  4417.  
  4418. HRESULT STDMETHODCALLTYPE IAMovieSetup_Register_Proxy( 
  4419.     IAMovieSetup * This);
  4420.  
  4421.  
  4422. void __RPC_STUB IAMovieSetup_Register_Stub(
  4423.     IRpcStubBuffer *This,
  4424.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4425.     PRPC_MESSAGE _pRpcMessage,
  4426.     DWORD *_pdwStubPhase);
  4427.  
  4428.  
  4429. HRESULT STDMETHODCALLTYPE IAMovieSetup_Unregister_Proxy( 
  4430.     IAMovieSetup * This);
  4431.  
  4432.  
  4433. void __RPC_STUB IAMovieSetup_Unregister_Stub(
  4434.     IRpcStubBuffer *This,
  4435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4436.     PRPC_MESSAGE _pRpcMessage,
  4437.     DWORD *_pdwStubPhase);
  4438.  
  4439.  
  4440.  
  4441. #endif     /* __IAMovieSetup_INTERFACE_DEFINED__ */
  4442.  
  4443.  
  4444. /* interface __MIDL_itf_strmif_0128 */
  4445. /* [local] */ 
  4446.  
  4447. typedef IAMovieSetup *PAMOVIESETUP;
  4448.  
  4449. typedef 
  4450. enum AM_SEEKING_SeekingFlags
  4451.     {    AM_SEEKING_NoPositioning    = 0,
  4452.     AM_SEEKING_AbsolutePositioning    = 0x1,
  4453.     AM_SEEKING_RelativePositioning    = 0x2,
  4454.     AM_SEEKING_IncrementalPositioning    = 0x3,
  4455.     AM_SEEKING_PositioningBitsMask    = 0x3,
  4456.     AM_SEEKING_SeekToKeyFrame    = 0x4,
  4457.     AM_SEEKING_ReturnTime    = 0x8,
  4458.     AM_SEEKING_Segment    = 0x10,
  4459.     AM_SEEKING_NoFlush    = 0x20
  4460.     }     AM_SEEKING_SEEKING_FLAGS;
  4461.  
  4462. typedef 
  4463. enum AM_SEEKING_SeekingCapabilities
  4464.     {    AM_SEEKING_CanSeekAbsolute    = 0x1,
  4465.     AM_SEEKING_CanSeekForwards    = 0x2,
  4466.     AM_SEEKING_CanSeekBackwards    = 0x4,
  4467.     AM_SEEKING_CanGetCurrentPos    = 0x8,
  4468.     AM_SEEKING_CanGetStopPos    = 0x10,
  4469.     AM_SEEKING_CanGetDuration    = 0x20,
  4470.     AM_SEEKING_CanPlayBackwards    = 0x40,
  4471.     AM_SEEKING_CanDoSegments    = 0x80,
  4472.     AM_SEEKING_Source    = 0x100
  4473.     }     AM_SEEKING_SEEKING_CAPABILITIES;
  4474.  
  4475.  
  4476.  
  4477. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_c_ifspec;
  4478. extern RPC_IF_HANDLE __MIDL_itf_strmif_0128_v0_0_s_ifspec;
  4479.  
  4480. #ifndef __IMediaSeeking_INTERFACE_DEFINED__
  4481. #define __IMediaSeeking_INTERFACE_DEFINED__
  4482.  
  4483. /* interface IMediaSeeking */
  4484. /* [unique][uuid][object] */ 
  4485.  
  4486.  
  4487. EXTERN_C const IID IID_IMediaSeeking;
  4488.  
  4489. #if defined(__cplusplus) && !defined(CINTERFACE)
  4490.     
  4491.     MIDL_INTERFACE("36b73880-c2c8-11cf-8b46-00805f6cef60")
  4492.     IMediaSeeking : public IUnknown
  4493.     {
  4494.     public:
  4495.         virtual HRESULT STDMETHODCALLTYPE GetCapabilities( 
  4496.             /* [out] */ DWORD *pCapabilities) = 0;
  4497.         
  4498.         virtual HRESULT STDMETHODCALLTYPE CheckCapabilities( 
  4499.             /* [out][in] */ DWORD *pCapabilities) = 0;
  4500.         
  4501.         virtual HRESULT STDMETHODCALLTYPE IsFormatSupported( 
  4502.             /* [in] */ const GUID *pFormat) = 0;
  4503.         
  4504.         virtual HRESULT STDMETHODCALLTYPE QueryPreferredFormat( 
  4505.             /* [out] */ GUID *pFormat) = 0;
  4506.         
  4507.         virtual HRESULT STDMETHODCALLTYPE GetTimeFormat( 
  4508.             /* [out] */ GUID *pFormat) = 0;
  4509.         
  4510.         virtual HRESULT STDMETHODCALLTYPE IsUsingTimeFormat( 
  4511.             /* [in] */ const GUID *pFormat) = 0;
  4512.         
  4513.         virtual HRESULT STDMETHODCALLTYPE SetTimeFormat( 
  4514.             /* [in] */ const GUID *pFormat) = 0;
  4515.         
  4516.         virtual HRESULT STDMETHODCALLTYPE GetDuration( 
  4517.             /* [out] */ LONGLONG *pDuration) = 0;
  4518.         
  4519.         virtual HRESULT STDMETHODCALLTYPE GetStopPosition( 
  4520.             /* [out] */ LONGLONG *pStop) = 0;
  4521.         
  4522.         virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( 
  4523.             /* [out] */ LONGLONG *pCurrent) = 0;
  4524.         
  4525.         virtual HRESULT STDMETHODCALLTYPE ConvertTimeFormat( 
  4526.             /* [out] */ LONGLONG *pTarget,
  4527.             /* [in] */ const GUID *pTargetFormat,
  4528.             /* [in] */ LONGLONG Source,
  4529.             /* [in] */ const GUID *pSourceFormat) = 0;
  4530.         
  4531.         virtual HRESULT STDMETHODCALLTYPE SetPositions( 
  4532.             /* [out][in] */ LONGLONG *pCurrent,
  4533.             /* [in] */ DWORD dwCurrentFlags,
  4534.             /* [out][in] */ LONGLONG *pStop,
  4535.             /* [in] */ DWORD dwStopFlags) = 0;
  4536.         
  4537.         virtual HRESULT STDMETHODCALLTYPE GetPositions( 
  4538.             /* [out] */ LONGLONG *pCurrent,
  4539.             /* [out] */ LONGLONG *pStop) = 0;
  4540.         
  4541.         virtual HRESULT STDMETHODCALLTYPE GetAvailable( 
  4542.             /* [out] */ LONGLONG *pEarliest,
  4543.             /* [out] */ LONGLONG *pLatest) = 0;
  4544.         
  4545.         virtual HRESULT STDMETHODCALLTYPE SetRate( 
  4546.             /* [in] */ double dRate) = 0;
  4547.         
  4548.         virtual HRESULT STDMETHODCALLTYPE GetRate( 
  4549.             /* [out] */ double *pdRate) = 0;
  4550.         
  4551.         virtual HRESULT STDMETHODCALLTYPE GetPreroll( 
  4552.             /* [out] */ LONGLONG *pllPreroll) = 0;
  4553.         
  4554.     };
  4555.     
  4556. #else     /* C style interface */
  4557.  
  4558.     typedef struct IMediaSeekingVtbl
  4559.     {
  4560.         BEGIN_INTERFACE
  4561.         
  4562.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4563.             IMediaSeeking * This,
  4564.             /* [in] */ REFIID riid,
  4565.             /* [iid_is][out] */ void **ppvObject);
  4566.         
  4567.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4568.             IMediaSeeking * This);
  4569.         
  4570.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4571.             IMediaSeeking * This);
  4572.         
  4573.         HRESULT ( STDMETHODCALLTYPE *GetCapabilities )( 
  4574.             IMediaSeeking * This,
  4575.             /* [out] */ DWORD *pCapabilities);
  4576.         
  4577.         HRESULT ( STDMETHODCALLTYPE *CheckCapabilities )( 
  4578.             IMediaSeeking * This,
  4579.             /* [out][in] */ DWORD *pCapabilities);
  4580.         
  4581.         HRESULT ( STDMETHODCALLTYPE *IsFormatSupported )( 
  4582.             IMediaSeeking * This,
  4583.             /* [in] */ const GUID *pFormat);
  4584.         
  4585.         HRESULT ( STDMETHODCALLTYPE *QueryPreferredFormat )( 
  4586.             IMediaSeeking * This,
  4587.             /* [out] */ GUID *pFormat);
  4588.         
  4589.         HRESULT ( STDMETHODCALLTYPE *GetTimeFormat )( 
  4590.             IMediaSeeking * This,
  4591.             /* [out] */ GUID *pFormat);
  4592.         
  4593.         HRESULT ( STDMETHODCALLTYPE *IsUsingTimeFormat )( 
  4594.             IMediaSeeking * This,
  4595.             /* [in] */ const GUID *pFormat);
  4596.         
  4597.         HRESULT ( STDMETHODCALLTYPE *SetTimeFormat )( 
  4598.             IMediaSeeking * This,
  4599.             /* [in] */ const GUID *pFormat);
  4600.         
  4601.         HRESULT ( STDMETHODCALLTYPE *GetDuration )( 
  4602.             IMediaSeeking * This,
  4603.             /* [out] */ LONGLONG *pDuration);
  4604.         
  4605.         HRESULT ( STDMETHODCALLTYPE *GetStopPosition )( 
  4606.             IMediaSeeking * This,
  4607.             /* [out] */ LONGLONG *pStop);
  4608.         
  4609.         HRESULT ( STDMETHODCALLTYPE *GetCurrentPosition )( 
  4610.             IMediaSeeking * This,
  4611.             /* [out] */ LONGLONG *pCurrent);
  4612.         
  4613.         HRESULT ( STDMETHODCALLTYPE *ConvertTimeFormat )( 
  4614.             IMediaSeeking * This,
  4615.             /* [out] */ LONGLONG *pTarget,
  4616.             /* [in] */ const GUID *pTargetFormat,
  4617.             /* [in] */ LONGLONG Source,
  4618.             /* [in] */ const GUID *pSourceFormat);
  4619.         
  4620.         HRESULT ( STDMETHODCALLTYPE *SetPositions )( 
  4621.             IMediaSeeking * This,
  4622.             /* [out][in] */ LONGLONG *pCurrent,
  4623.             /* [in] */ DWORD dwCurrentFlags,
  4624.             /* [out][in] */ LONGLONG *pStop,
  4625.             /* [in] */ DWORD dwStopFlags);
  4626.         
  4627.         HRESULT ( STDMETHODCALLTYPE *GetPositions )( 
  4628.             IMediaSeeking * This,
  4629.             /* [out] */ LONGLONG *pCurrent,
  4630.             /* [out] */ LONGLONG *pStop);
  4631.         
  4632.         HRESULT ( STDMETHODCALLTYPE *GetAvailable )( 
  4633.             IMediaSeeking * This,
  4634.             /* [out] */ LONGLONG *pEarliest,
  4635.             /* [out] */ LONGLONG *pLatest);
  4636.         
  4637.         HRESULT ( STDMETHODCALLTYPE *SetRate )( 
  4638.             IMediaSeeking * This,
  4639.             /* [in] */ double dRate);
  4640.         
  4641.         HRESULT ( STDMETHODCALLTYPE *GetRate )( 
  4642.             IMediaSeeking * This,
  4643.             /* [out] */ double *pdRate);
  4644.         
  4645.         HRESULT ( STDMETHODCALLTYPE *GetPreroll )( 
  4646.             IMediaSeeking * This,
  4647.             /* [out] */ LONGLONG *pllPreroll);
  4648.         
  4649.         END_INTERFACE
  4650.     } IMediaSeekingVtbl;
  4651.  
  4652.     interface IMediaSeeking
  4653.     {
  4654.         CONST_VTBL struct IMediaSeekingVtbl *lpVtbl;
  4655.     };
  4656.  
  4657.     
  4658.  
  4659. #ifdef COBJMACROS
  4660.  
  4661.  
  4662. #define IMediaSeeking_QueryInterface(This,riid,ppvObject)    \
  4663.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4664.  
  4665. #define IMediaSeeking_AddRef(This)    \
  4666.     (This)->lpVtbl -> AddRef(This)
  4667.  
  4668. #define IMediaSeeking_Release(This)    \
  4669.     (This)->lpVtbl -> Release(This)
  4670.  
  4671.  
  4672. #define IMediaSeeking_GetCapabilities(This,pCapabilities)    \
  4673.     (This)->lpVtbl -> GetCapabilities(This,pCapabilities)
  4674.  
  4675. #define IMediaSeeking_CheckCapabilities(This,pCapabilities)    \
  4676.     (This)->lpVtbl -> CheckCapabilities(This,pCapabilities)
  4677.  
  4678. #define IMediaSeeking_IsFormatSupported(This,pFormat)    \
  4679.     (This)->lpVtbl -> IsFormatSupported(This,pFormat)
  4680.  
  4681. #define IMediaSeeking_QueryPreferredFormat(This,pFormat)    \
  4682.     (This)->lpVtbl -> QueryPreferredFormat(This,pFormat)
  4683.  
  4684. #define IMediaSeeking_GetTimeFormat(This,pFormat)    \
  4685.     (This)->lpVtbl -> GetTimeFormat(This,pFormat)
  4686.  
  4687. #define IMediaSeeking_IsUsingTimeFormat(This,pFormat)    \
  4688.     (This)->lpVtbl -> IsUsingTimeFormat(This,pFormat)
  4689.  
  4690. #define IMediaSeeking_SetTimeFormat(This,pFormat)    \
  4691.     (This)->lpVtbl -> SetTimeFormat(This,pFormat)
  4692.  
  4693. #define IMediaSeeking_GetDuration(This,pDuration)    \
  4694.     (This)->lpVtbl -> GetDuration(This,pDuration)
  4695.  
  4696. #define IMediaSeeking_GetStopPosition(This,pStop)    \
  4697.     (This)->lpVtbl -> GetStopPosition(This,pStop)
  4698.  
  4699. #define IMediaSeeking_GetCurrentPosition(This,pCurrent)    \
  4700.     (This)->lpVtbl -> GetCurrentPosition(This,pCurrent)
  4701.  
  4702. #define IMediaSeeking_ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)    \
  4703.     (This)->lpVtbl -> ConvertTimeFormat(This,pTarget,pTargetFormat,Source,pSourceFormat)
  4704.  
  4705. #define IMediaSeeking_SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)    \
  4706.     (This)->lpVtbl -> SetPositions(This,pCurrent,dwCurrentFlags,pStop,dwStopFlags)
  4707.  
  4708. #define IMediaSeeking_GetPositions(This,pCurrent,pStop)    \
  4709.     (This)->lpVtbl -> GetPositions(This,pCurrent,pStop)
  4710.  
  4711. #define IMediaSeeking_GetAvailable(This,pEarliest,pLatest)    \
  4712.     (This)->lpVtbl -> GetAvailable(This,pEarliest,pLatest)
  4713.  
  4714. #define IMediaSeeking_SetRate(This,dRate)    \
  4715.     (This)->lpVtbl -> SetRate(This,dRate)
  4716.  
  4717. #define IMediaSeeking_GetRate(This,pdRate)    \
  4718.     (This)->lpVtbl -> GetRate(This,pdRate)
  4719.  
  4720. #define IMediaSeeking_GetPreroll(This,pllPreroll)    \
  4721.     (This)->lpVtbl -> GetPreroll(This,pllPreroll)
  4722.  
  4723. #endif /* COBJMACROS */
  4724.  
  4725.  
  4726. #endif     /* C style interface */
  4727.  
  4728.  
  4729.  
  4730. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCapabilities_Proxy( 
  4731.     IMediaSeeking * This,
  4732.     /* [out] */ DWORD *pCapabilities);
  4733.  
  4734.  
  4735. void __RPC_STUB IMediaSeeking_GetCapabilities_Stub(
  4736.     IRpcStubBuffer *This,
  4737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4738.     PRPC_MESSAGE _pRpcMessage,
  4739.     DWORD *_pdwStubPhase);
  4740.  
  4741.  
  4742. HRESULT STDMETHODCALLTYPE IMediaSeeking_CheckCapabilities_Proxy( 
  4743.     IMediaSeeking * This,
  4744.     /* [out][in] */ DWORD *pCapabilities);
  4745.  
  4746.  
  4747. void __RPC_STUB IMediaSeeking_CheckCapabilities_Stub(
  4748.     IRpcStubBuffer *This,
  4749.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4750.     PRPC_MESSAGE _pRpcMessage,
  4751.     DWORD *_pdwStubPhase);
  4752.  
  4753.  
  4754. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsFormatSupported_Proxy( 
  4755.     IMediaSeeking * This,
  4756.     /* [in] */ const GUID *pFormat);
  4757.  
  4758.  
  4759. void __RPC_STUB IMediaSeeking_IsFormatSupported_Stub(
  4760.     IRpcStubBuffer *This,
  4761.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4762.     PRPC_MESSAGE _pRpcMessage,
  4763.     DWORD *_pdwStubPhase);
  4764.  
  4765.  
  4766. HRESULT STDMETHODCALLTYPE IMediaSeeking_QueryPreferredFormat_Proxy( 
  4767.     IMediaSeeking * This,
  4768.     /* [out] */ GUID *pFormat);
  4769.  
  4770.  
  4771. void __RPC_STUB IMediaSeeking_QueryPreferredFormat_Stub(
  4772.     IRpcStubBuffer *This,
  4773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4774.     PRPC_MESSAGE _pRpcMessage,
  4775.     DWORD *_pdwStubPhase);
  4776.  
  4777.  
  4778. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetTimeFormat_Proxy( 
  4779.     IMediaSeeking * This,
  4780.     /* [out] */ GUID *pFormat);
  4781.  
  4782.  
  4783. void __RPC_STUB IMediaSeeking_GetTimeFormat_Stub(
  4784.     IRpcStubBuffer *This,
  4785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4786.     PRPC_MESSAGE _pRpcMessage,
  4787.     DWORD *_pdwStubPhase);
  4788.  
  4789.  
  4790. HRESULT STDMETHODCALLTYPE IMediaSeeking_IsUsingTimeFormat_Proxy( 
  4791.     IMediaSeeking * This,
  4792.     /* [in] */ const GUID *pFormat);
  4793.  
  4794.  
  4795. void __RPC_STUB IMediaSeeking_IsUsingTimeFormat_Stub(
  4796.     IRpcStubBuffer *This,
  4797.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4798.     PRPC_MESSAGE _pRpcMessage,
  4799.     DWORD *_pdwStubPhase);
  4800.  
  4801.  
  4802. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetTimeFormat_Proxy( 
  4803.     IMediaSeeking * This,
  4804.     /* [in] */ const GUID *pFormat);
  4805.  
  4806.  
  4807. void __RPC_STUB IMediaSeeking_SetTimeFormat_Stub(
  4808.     IRpcStubBuffer *This,
  4809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4810.     PRPC_MESSAGE _pRpcMessage,
  4811.     DWORD *_pdwStubPhase);
  4812.  
  4813.  
  4814. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetDuration_Proxy( 
  4815.     IMediaSeeking * This,
  4816.     /* [out] */ LONGLONG *pDuration);
  4817.  
  4818.  
  4819. void __RPC_STUB IMediaSeeking_GetDuration_Stub(
  4820.     IRpcStubBuffer *This,
  4821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4822.     PRPC_MESSAGE _pRpcMessage,
  4823.     DWORD *_pdwStubPhase);
  4824.  
  4825.  
  4826. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetStopPosition_Proxy( 
  4827.     IMediaSeeking * This,
  4828.     /* [out] */ LONGLONG *pStop);
  4829.  
  4830.  
  4831. void __RPC_STUB IMediaSeeking_GetStopPosition_Stub(
  4832.     IRpcStubBuffer *This,
  4833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4834.     PRPC_MESSAGE _pRpcMessage,
  4835.     DWORD *_pdwStubPhase);
  4836.  
  4837.  
  4838. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetCurrentPosition_Proxy( 
  4839.     IMediaSeeking * This,
  4840.     /* [out] */ LONGLONG *pCurrent);
  4841.  
  4842.  
  4843. void __RPC_STUB IMediaSeeking_GetCurrentPosition_Stub(
  4844.     IRpcStubBuffer *This,
  4845.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4846.     PRPC_MESSAGE _pRpcMessage,
  4847.     DWORD *_pdwStubPhase);
  4848.  
  4849.  
  4850. HRESULT STDMETHODCALLTYPE IMediaSeeking_ConvertTimeFormat_Proxy( 
  4851.     IMediaSeeking * This,
  4852.     /* [out] */ LONGLONG *pTarget,
  4853.     /* [in] */ const GUID *pTargetFormat,
  4854.     /* [in] */ LONGLONG Source,
  4855.     /* [in] */ const GUID *pSourceFormat);
  4856.  
  4857.  
  4858. void __RPC_STUB IMediaSeeking_ConvertTimeFormat_Stub(
  4859.     IRpcStubBuffer *This,
  4860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4861.     PRPC_MESSAGE _pRpcMessage,
  4862.     DWORD *_pdwStubPhase);
  4863.  
  4864.  
  4865. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetPositions_Proxy( 
  4866.     IMediaSeeking * This,
  4867.     /* [out][in] */ LONGLONG *pCurrent,
  4868.     /* [in] */ DWORD dwCurrentFlags,
  4869.     /* [out][in] */ LONGLONG *pStop,
  4870.     /* [in] */ DWORD dwStopFlags);
  4871.  
  4872.  
  4873. void __RPC_STUB IMediaSeeking_SetPositions_Stub(
  4874.     IRpcStubBuffer *This,
  4875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4876.     PRPC_MESSAGE _pRpcMessage,
  4877.     DWORD *_pdwStubPhase);
  4878.  
  4879.  
  4880. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPositions_Proxy( 
  4881.     IMediaSeeking * This,
  4882.     /* [out] */ LONGLONG *pCurrent,
  4883.     /* [out] */ LONGLONG *pStop);
  4884.  
  4885.  
  4886. void __RPC_STUB IMediaSeeking_GetPositions_Stub(
  4887.     IRpcStubBuffer *This,
  4888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4889.     PRPC_MESSAGE _pRpcMessage,
  4890.     DWORD *_pdwStubPhase);
  4891.  
  4892.  
  4893. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetAvailable_Proxy( 
  4894.     IMediaSeeking * This,
  4895.     /* [out] */ LONGLONG *pEarliest,
  4896.     /* [out] */ LONGLONG *pLatest);
  4897.  
  4898.  
  4899. void __RPC_STUB IMediaSeeking_GetAvailable_Stub(
  4900.     IRpcStubBuffer *This,
  4901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4902.     PRPC_MESSAGE _pRpcMessage,
  4903.     DWORD *_pdwStubPhase);
  4904.  
  4905.  
  4906. HRESULT STDMETHODCALLTYPE IMediaSeeking_SetRate_Proxy( 
  4907.     IMediaSeeking * This,
  4908.     /* [in] */ double dRate);
  4909.  
  4910.  
  4911. void __RPC_STUB IMediaSeeking_SetRate_Stub(
  4912.     IRpcStubBuffer *This,
  4913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4914.     PRPC_MESSAGE _pRpcMessage,
  4915.     DWORD *_pdwStubPhase);
  4916.  
  4917.  
  4918. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetRate_Proxy( 
  4919.     IMediaSeeking * This,
  4920.     /* [out] */ double *pdRate);
  4921.  
  4922.  
  4923. void __RPC_STUB IMediaSeeking_GetRate_Stub(
  4924.     IRpcStubBuffer *This,
  4925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4926.     PRPC_MESSAGE _pRpcMessage,
  4927.     DWORD *_pdwStubPhase);
  4928.  
  4929.  
  4930. HRESULT STDMETHODCALLTYPE IMediaSeeking_GetPreroll_Proxy( 
  4931.     IMediaSeeking * This,
  4932.     /* [out] */ LONGLONG *pllPreroll);
  4933.  
  4934.  
  4935. void __RPC_STUB IMediaSeeking_GetPreroll_Stub(
  4936.     IRpcStubBuffer *This,
  4937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4938.     PRPC_MESSAGE _pRpcMessage,
  4939.     DWORD *_pdwStubPhase);
  4940.  
  4941.  
  4942.  
  4943. #endif     /* __IMediaSeeking_INTERFACE_DEFINED__ */
  4944.  
  4945.  
  4946. /* interface __MIDL_itf_strmif_0129 */
  4947. /* [local] */ 
  4948.  
  4949. typedef IMediaSeeking *PMEDIASEEKING;
  4950.  
  4951. enum tagAM_MEDIAEVENT_FLAGS
  4952. {
  4953.     AM_MEDIAEVENT_NONOTIFY = 0x01
  4954. };
  4955.  
  4956.  
  4957.  
  4958.  
  4959.  
  4960.  
  4961.  
  4962.  
  4963.  
  4964.  
  4965.  
  4966.  
  4967.  
  4968.  
  4969.  
  4970.  
  4971.  
  4972.  
  4973.  
  4974.  
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.  
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0129_0001
  5009.     {
  5010.     CLSID Clsid;
  5011.     LPWSTR Name;
  5012.     }     REGFILTER;
  5013.  
  5014.  
  5015.  
  5016. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_c_ifspec;
  5017. extern RPC_IF_HANDLE __MIDL_itf_strmif_0129_v0_0_s_ifspec;
  5018.  
  5019. #ifndef __IEnumRegFilters_INTERFACE_DEFINED__
  5020. #define __IEnumRegFilters_INTERFACE_DEFINED__
  5021.  
  5022. /* interface IEnumRegFilters */
  5023. /* [unique][uuid][object] */ 
  5024.  
  5025.  
  5026. EXTERN_C const IID IID_IEnumRegFilters;
  5027.  
  5028. #if defined(__cplusplus) && !defined(CINTERFACE)
  5029.     
  5030.     MIDL_INTERFACE("56a868a4-0ad4-11ce-b03a-0020af0ba770")
  5031.     IEnumRegFilters : public IUnknown
  5032.     {
  5033.     public:
  5034.         virtual HRESULT STDMETHODCALLTYPE Next( 
  5035.             /* [in] */ ULONG cFilters,
  5036.             /* [out] */ REGFILTER **apRegFilter,
  5037.             /* [out] */ ULONG *pcFetched) = 0;
  5038.         
  5039.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  5040.             /* [in] */ ULONG cFilters) = 0;
  5041.         
  5042.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5043.         
  5044.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  5045.             /* [out] */ IEnumRegFilters **ppEnum) = 0;
  5046.         
  5047.     };
  5048.     
  5049. #else     /* C style interface */
  5050.  
  5051.     typedef struct IEnumRegFiltersVtbl
  5052.     {
  5053.         BEGIN_INTERFACE
  5054.         
  5055.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5056.             IEnumRegFilters * This,
  5057.             /* [in] */ REFIID riid,
  5058.             /* [iid_is][out] */ void **ppvObject);
  5059.         
  5060.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5061.             IEnumRegFilters * This);
  5062.         
  5063.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5064.             IEnumRegFilters * This);
  5065.         
  5066.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  5067.             IEnumRegFilters * This,
  5068.             /* [in] */ ULONG cFilters,
  5069.             /* [out] */ REGFILTER **apRegFilter,
  5070.             /* [out] */ ULONG *pcFetched);
  5071.         
  5072.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  5073.             IEnumRegFilters * This,
  5074.             /* [in] */ ULONG cFilters);
  5075.         
  5076.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  5077.             IEnumRegFilters * This);
  5078.         
  5079.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  5080.             IEnumRegFilters * This,
  5081.             /* [out] */ IEnumRegFilters **ppEnum);
  5082.         
  5083.         END_INTERFACE
  5084.     } IEnumRegFiltersVtbl;
  5085.  
  5086.     interface IEnumRegFilters
  5087.     {
  5088.         CONST_VTBL struct IEnumRegFiltersVtbl *lpVtbl;
  5089.     };
  5090.  
  5091.     
  5092.  
  5093. #ifdef COBJMACROS
  5094.  
  5095.  
  5096. #define IEnumRegFilters_QueryInterface(This,riid,ppvObject)    \
  5097.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5098.  
  5099. #define IEnumRegFilters_AddRef(This)    \
  5100.     (This)->lpVtbl -> AddRef(This)
  5101.  
  5102. #define IEnumRegFilters_Release(This)    \
  5103.     (This)->lpVtbl -> Release(This)
  5104.  
  5105.  
  5106. #define IEnumRegFilters_Next(This,cFilters,apRegFilter,pcFetched)    \
  5107.     (This)->lpVtbl -> Next(This,cFilters,apRegFilter,pcFetched)
  5108.  
  5109. #define IEnumRegFilters_Skip(This,cFilters)    \
  5110.     (This)->lpVtbl -> Skip(This,cFilters)
  5111.  
  5112. #define IEnumRegFilters_Reset(This)    \
  5113.     (This)->lpVtbl -> Reset(This)
  5114.  
  5115. #define IEnumRegFilters_Clone(This,ppEnum)    \
  5116.     (This)->lpVtbl -> Clone(This,ppEnum)
  5117.  
  5118. #endif /* COBJMACROS */
  5119.  
  5120.  
  5121. #endif     /* C style interface */
  5122.  
  5123.  
  5124.  
  5125. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Next_Proxy( 
  5126.     IEnumRegFilters * This,
  5127.     /* [in] */ ULONG cFilters,
  5128.     /* [out] */ REGFILTER **apRegFilter,
  5129.     /* [out] */ ULONG *pcFetched);
  5130.  
  5131.  
  5132. void __RPC_STUB IEnumRegFilters_Next_Stub(
  5133.     IRpcStubBuffer *This,
  5134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5135.     PRPC_MESSAGE _pRpcMessage,
  5136.     DWORD *_pdwStubPhase);
  5137.  
  5138.  
  5139. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Skip_Proxy( 
  5140.     IEnumRegFilters * This,
  5141.     /* [in] */ ULONG cFilters);
  5142.  
  5143.  
  5144. void __RPC_STUB IEnumRegFilters_Skip_Stub(
  5145.     IRpcStubBuffer *This,
  5146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5147.     PRPC_MESSAGE _pRpcMessage,
  5148.     DWORD *_pdwStubPhase);
  5149.  
  5150.  
  5151. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Reset_Proxy( 
  5152.     IEnumRegFilters * This);
  5153.  
  5154.  
  5155. void __RPC_STUB IEnumRegFilters_Reset_Stub(
  5156.     IRpcStubBuffer *This,
  5157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5158.     PRPC_MESSAGE _pRpcMessage,
  5159.     DWORD *_pdwStubPhase);
  5160.  
  5161.  
  5162. HRESULT STDMETHODCALLTYPE IEnumRegFilters_Clone_Proxy( 
  5163.     IEnumRegFilters * This,
  5164.     /* [out] */ IEnumRegFilters **ppEnum);
  5165.  
  5166.  
  5167. void __RPC_STUB IEnumRegFilters_Clone_Stub(
  5168.     IRpcStubBuffer *This,
  5169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5170.     PRPC_MESSAGE _pRpcMessage,
  5171.     DWORD *_pdwStubPhase);
  5172.  
  5173.  
  5174.  
  5175. #endif     /* __IEnumRegFilters_INTERFACE_DEFINED__ */
  5176.  
  5177.  
  5178. /* interface __MIDL_itf_strmif_0131 */
  5179. /* [local] */ 
  5180.  
  5181. typedef IEnumRegFilters *PENUMREGFILTERS;
  5182.  
  5183.  
  5184.  
  5185. extern RPC_IF_HANDLE __MIDL_itf_strmif_0131_v0_0_c_ifspec;
  5186. extern RPC_IF_HANDLE __MIDL_itf_strmif_0131_v0_0_s_ifspec;
  5187.  
  5188. #ifndef __IFilterMapper_INTERFACE_DEFINED__
  5189. #define __IFilterMapper_INTERFACE_DEFINED__
  5190.  
  5191. /* interface IFilterMapper */
  5192. /* [unique][uuid][object] */ 
  5193.  
  5194.  
  5195. enum __MIDL_IFilterMapper_0001
  5196.     {    MERIT_PREFERRED    = 0x800000,
  5197.     MERIT_NORMAL    = 0x600000,
  5198.     MERIT_UNLIKELY    = 0x400000,
  5199.     MERIT_DO_NOT_USE    = 0x200000,
  5200.     MERIT_SW_COMPRESSOR    = 0x100000,
  5201.     MERIT_HW_COMPRESSOR    = 0x100050
  5202.     } ;
  5203.  
  5204. EXTERN_C const IID IID_IFilterMapper;
  5205.  
  5206. #if defined(__cplusplus) && !defined(CINTERFACE)
  5207.     
  5208.     MIDL_INTERFACE("56a868a3-0ad4-11ce-b03a-0020af0ba770")
  5209.     IFilterMapper : public IUnknown
  5210.     {
  5211.     public:
  5212.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5213.             /* [in] */ CLSID clsid,
  5214.             /* [in] */ LPCWSTR Name,
  5215.             /* [in] */ DWORD dwMerit) = 0;
  5216.         
  5217.         virtual HRESULT STDMETHODCALLTYPE RegisterFilterInstance( 
  5218.             /* [in] */ CLSID clsid,
  5219.             /* [in] */ LPCWSTR Name,
  5220.             /* [out] */ CLSID *MRId) = 0;
  5221.         
  5222.         virtual HRESULT STDMETHODCALLTYPE RegisterPin( 
  5223.             /* [in] */ CLSID Filter,
  5224.             /* [in] */ LPCWSTR Name,
  5225.             /* [in] */ BOOL bRendered,
  5226.             /* [in] */ BOOL bOutput,
  5227.             /* [in] */ BOOL bZero,
  5228.             /* [in] */ BOOL bMany,
  5229.             /* [in] */ CLSID ConnectsToFilter,
  5230.             /* [in] */ LPCWSTR ConnectsToPin) = 0;
  5231.         
  5232.         virtual HRESULT STDMETHODCALLTYPE RegisterPinType( 
  5233.             /* [in] */ CLSID clsFilter,
  5234.             /* [in] */ LPCWSTR strName,
  5235.             /* [in] */ CLSID clsMajorType,
  5236.             /* [in] */ CLSID clsSubType) = 0;
  5237.         
  5238.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5239.             /* [in] */ CLSID Filter) = 0;
  5240.         
  5241.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilterInstance( 
  5242.             /* [in] */ CLSID MRId) = 0;
  5243.         
  5244.         virtual HRESULT STDMETHODCALLTYPE UnregisterPin( 
  5245.             /* [in] */ CLSID Filter,
  5246.             /* [in] */ LPCWSTR Name) = 0;
  5247.         
  5248.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5249.             /* [out] */ IEnumRegFilters **ppEnum,
  5250.             /* [in] */ DWORD dwMerit,
  5251.             /* [in] */ BOOL bInputNeeded,
  5252.             /* [in] */ CLSID clsInMaj,
  5253.             /* [in] */ CLSID clsInSub,
  5254.             /* [in] */ BOOL bRender,
  5255.             /* [in] */ BOOL bOututNeeded,
  5256.             /* [in] */ CLSID clsOutMaj,
  5257.             /* [in] */ CLSID clsOutSub) = 0;
  5258.         
  5259.     };
  5260.     
  5261. #else     /* C style interface */
  5262.  
  5263.     typedef struct IFilterMapperVtbl
  5264.     {
  5265.         BEGIN_INTERFACE
  5266.         
  5267.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5268.             IFilterMapper * This,
  5269.             /* [in] */ REFIID riid,
  5270.             /* [iid_is][out] */ void **ppvObject);
  5271.         
  5272.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5273.             IFilterMapper * This);
  5274.         
  5275.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5276.             IFilterMapper * This);
  5277.         
  5278.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5279.             IFilterMapper * This,
  5280.             /* [in] */ CLSID clsid,
  5281.             /* [in] */ LPCWSTR Name,
  5282.             /* [in] */ DWORD dwMerit);
  5283.         
  5284.         HRESULT ( STDMETHODCALLTYPE *RegisterFilterInstance )( 
  5285.             IFilterMapper * This,
  5286.             /* [in] */ CLSID clsid,
  5287.             /* [in] */ LPCWSTR Name,
  5288.             /* [out] */ CLSID *MRId);
  5289.         
  5290.         HRESULT ( STDMETHODCALLTYPE *RegisterPin )( 
  5291.             IFilterMapper * This,
  5292.             /* [in] */ CLSID Filter,
  5293.             /* [in] */ LPCWSTR Name,
  5294.             /* [in] */ BOOL bRendered,
  5295.             /* [in] */ BOOL bOutput,
  5296.             /* [in] */ BOOL bZero,
  5297.             /* [in] */ BOOL bMany,
  5298.             /* [in] */ CLSID ConnectsToFilter,
  5299.             /* [in] */ LPCWSTR ConnectsToPin);
  5300.         
  5301.         HRESULT ( STDMETHODCALLTYPE *RegisterPinType )( 
  5302.             IFilterMapper * This,
  5303.             /* [in] */ CLSID clsFilter,
  5304.             /* [in] */ LPCWSTR strName,
  5305.             /* [in] */ CLSID clsMajorType,
  5306.             /* [in] */ CLSID clsSubType);
  5307.         
  5308.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5309.             IFilterMapper * This,
  5310.             /* [in] */ CLSID Filter);
  5311.         
  5312.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilterInstance )( 
  5313.             IFilterMapper * This,
  5314.             /* [in] */ CLSID MRId);
  5315.         
  5316.         HRESULT ( STDMETHODCALLTYPE *UnregisterPin )( 
  5317.             IFilterMapper * This,
  5318.             /* [in] */ CLSID Filter,
  5319.             /* [in] */ LPCWSTR Name);
  5320.         
  5321.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5322.             IFilterMapper * This,
  5323.             /* [out] */ IEnumRegFilters **ppEnum,
  5324.             /* [in] */ DWORD dwMerit,
  5325.             /* [in] */ BOOL bInputNeeded,
  5326.             /* [in] */ CLSID clsInMaj,
  5327.             /* [in] */ CLSID clsInSub,
  5328.             /* [in] */ BOOL bRender,
  5329.             /* [in] */ BOOL bOututNeeded,
  5330.             /* [in] */ CLSID clsOutMaj,
  5331.             /* [in] */ CLSID clsOutSub);
  5332.         
  5333.         END_INTERFACE
  5334.     } IFilterMapperVtbl;
  5335.  
  5336.     interface IFilterMapper
  5337.     {
  5338.         CONST_VTBL struct IFilterMapperVtbl *lpVtbl;
  5339.     };
  5340.  
  5341.     
  5342.  
  5343. #ifdef COBJMACROS
  5344.  
  5345.  
  5346. #define IFilterMapper_QueryInterface(This,riid,ppvObject)    \
  5347.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5348.  
  5349. #define IFilterMapper_AddRef(This)    \
  5350.     (This)->lpVtbl -> AddRef(This)
  5351.  
  5352. #define IFilterMapper_Release(This)    \
  5353.     (This)->lpVtbl -> Release(This)
  5354.  
  5355.  
  5356. #define IFilterMapper_RegisterFilter(This,clsid,Name,dwMerit)    \
  5357.     (This)->lpVtbl -> RegisterFilter(This,clsid,Name,dwMerit)
  5358.  
  5359. #define IFilterMapper_RegisterFilterInstance(This,clsid,Name,MRId)    \
  5360.     (This)->lpVtbl -> RegisterFilterInstance(This,clsid,Name,MRId)
  5361.  
  5362. #define IFilterMapper_RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)    \
  5363.     (This)->lpVtbl -> RegisterPin(This,Filter,Name,bRendered,bOutput,bZero,bMany,ConnectsToFilter,ConnectsToPin)
  5364.  
  5365. #define IFilterMapper_RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)    \
  5366.     (This)->lpVtbl -> RegisterPinType(This,clsFilter,strName,clsMajorType,clsSubType)
  5367.  
  5368. #define IFilterMapper_UnregisterFilter(This,Filter)    \
  5369.     (This)->lpVtbl -> UnregisterFilter(This,Filter)
  5370.  
  5371. #define IFilterMapper_UnregisterFilterInstance(This,MRId)    \
  5372.     (This)->lpVtbl -> UnregisterFilterInstance(This,MRId)
  5373.  
  5374. #define IFilterMapper_UnregisterPin(This,Filter,Name)    \
  5375.     (This)->lpVtbl -> UnregisterPin(This,Filter,Name)
  5376.  
  5377. #define IFilterMapper_EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)    \
  5378.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwMerit,bInputNeeded,clsInMaj,clsInSub,bRender,bOututNeeded,clsOutMaj,clsOutSub)
  5379.  
  5380. #endif /* COBJMACROS */
  5381.  
  5382.  
  5383. #endif     /* C style interface */
  5384.  
  5385.  
  5386.  
  5387. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilter_Proxy( 
  5388.     IFilterMapper * This,
  5389.     /* [in] */ CLSID clsid,
  5390.     /* [in] */ LPCWSTR Name,
  5391.     /* [in] */ DWORD dwMerit);
  5392.  
  5393.  
  5394. void __RPC_STUB IFilterMapper_RegisterFilter_Stub(
  5395.     IRpcStubBuffer *This,
  5396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5397.     PRPC_MESSAGE _pRpcMessage,
  5398.     DWORD *_pdwStubPhase);
  5399.  
  5400.  
  5401. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterFilterInstance_Proxy( 
  5402.     IFilterMapper * This,
  5403.     /* [in] */ CLSID clsid,
  5404.     /* [in] */ LPCWSTR Name,
  5405.     /* [out] */ CLSID *MRId);
  5406.  
  5407.  
  5408. void __RPC_STUB IFilterMapper_RegisterFilterInstance_Stub(
  5409.     IRpcStubBuffer *This,
  5410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5411.     PRPC_MESSAGE _pRpcMessage,
  5412.     DWORD *_pdwStubPhase);
  5413.  
  5414.  
  5415. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPin_Proxy( 
  5416.     IFilterMapper * This,
  5417.     /* [in] */ CLSID Filter,
  5418.     /* [in] */ LPCWSTR Name,
  5419.     /* [in] */ BOOL bRendered,
  5420.     /* [in] */ BOOL bOutput,
  5421.     /* [in] */ BOOL bZero,
  5422.     /* [in] */ BOOL bMany,
  5423.     /* [in] */ CLSID ConnectsToFilter,
  5424.     /* [in] */ LPCWSTR ConnectsToPin);
  5425.  
  5426.  
  5427. void __RPC_STUB IFilterMapper_RegisterPin_Stub(
  5428.     IRpcStubBuffer *This,
  5429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5430.     PRPC_MESSAGE _pRpcMessage,
  5431.     DWORD *_pdwStubPhase);
  5432.  
  5433.  
  5434. HRESULT STDMETHODCALLTYPE IFilterMapper_RegisterPinType_Proxy( 
  5435.     IFilterMapper * This,
  5436.     /* [in] */ CLSID clsFilter,
  5437.     /* [in] */ LPCWSTR strName,
  5438.     /* [in] */ CLSID clsMajorType,
  5439.     /* [in] */ CLSID clsSubType);
  5440.  
  5441.  
  5442. void __RPC_STUB IFilterMapper_RegisterPinType_Stub(
  5443.     IRpcStubBuffer *This,
  5444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5445.     PRPC_MESSAGE _pRpcMessage,
  5446.     DWORD *_pdwStubPhase);
  5447.  
  5448.  
  5449. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilter_Proxy( 
  5450.     IFilterMapper * This,
  5451.     /* [in] */ CLSID Filter);
  5452.  
  5453.  
  5454. void __RPC_STUB IFilterMapper_UnregisterFilter_Stub(
  5455.     IRpcStubBuffer *This,
  5456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5457.     PRPC_MESSAGE _pRpcMessage,
  5458.     DWORD *_pdwStubPhase);
  5459.  
  5460.  
  5461. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterFilterInstance_Proxy( 
  5462.     IFilterMapper * This,
  5463.     /* [in] */ CLSID MRId);
  5464.  
  5465.  
  5466. void __RPC_STUB IFilterMapper_UnregisterFilterInstance_Stub(
  5467.     IRpcStubBuffer *This,
  5468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5469.     PRPC_MESSAGE _pRpcMessage,
  5470.     DWORD *_pdwStubPhase);
  5471.  
  5472.  
  5473. HRESULT STDMETHODCALLTYPE IFilterMapper_UnregisterPin_Proxy( 
  5474.     IFilterMapper * This,
  5475.     /* [in] */ CLSID Filter,
  5476.     /* [in] */ LPCWSTR Name);
  5477.  
  5478.  
  5479. void __RPC_STUB IFilterMapper_UnregisterPin_Stub(
  5480.     IRpcStubBuffer *This,
  5481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5482.     PRPC_MESSAGE _pRpcMessage,
  5483.     DWORD *_pdwStubPhase);
  5484.  
  5485.  
  5486. HRESULT STDMETHODCALLTYPE IFilterMapper_EnumMatchingFilters_Proxy( 
  5487.     IFilterMapper * This,
  5488.     /* [out] */ IEnumRegFilters **ppEnum,
  5489.     /* [in] */ DWORD dwMerit,
  5490.     /* [in] */ BOOL bInputNeeded,
  5491.     /* [in] */ CLSID clsInMaj,
  5492.     /* [in] */ CLSID clsInSub,
  5493.     /* [in] */ BOOL bRender,
  5494.     /* [in] */ BOOL bOututNeeded,
  5495.     /* [in] */ CLSID clsOutMaj,
  5496.     /* [in] */ CLSID clsOutSub);
  5497.  
  5498.  
  5499. void __RPC_STUB IFilterMapper_EnumMatchingFilters_Stub(
  5500.     IRpcStubBuffer *This,
  5501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5502.     PRPC_MESSAGE _pRpcMessage,
  5503.     DWORD *_pdwStubPhase);
  5504.  
  5505.  
  5506.  
  5507. #endif     /* __IFilterMapper_INTERFACE_DEFINED__ */
  5508.  
  5509.  
  5510. /* interface __MIDL_itf_strmif_0133 */
  5511. /* [local] */ 
  5512.  
  5513. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0001
  5514.     {
  5515.     const CLSID *clsMajorType;
  5516.     const CLSID *clsMinorType;
  5517.     }     REGPINTYPES;
  5518.  
  5519. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0002
  5520.     {
  5521.     LPWSTR strName;
  5522.     BOOL bRendered;
  5523.     BOOL bOutput;
  5524.     BOOL bZero;
  5525.     BOOL bMany;
  5526.     const CLSID *clsConnectsToFilter;
  5527.     const WCHAR *strConnectsToPin;
  5528.     UINT nMediaTypes;
  5529.     const REGPINTYPES *lpMediaType;
  5530.     }     REGFILTERPINS;
  5531.  
  5532. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0003
  5533.     {
  5534.     CLSID clsMedium;
  5535.     DWORD dw1;
  5536.     DWORD dw2;
  5537.     }     REGPINMEDIUM;
  5538.  
  5539.  
  5540. enum __MIDL___MIDL_itf_strmif_0133_0004
  5541.     {    REG_PINFLAG_B_ZERO    = 0x1,
  5542.     REG_PINFLAG_B_RENDERER    = 0x2,
  5543.     REG_PINFLAG_B_MANY    = 0x4,
  5544.     REG_PINFLAG_B_OUTPUT    = 0x8
  5545.     } ;
  5546. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0005
  5547.     {
  5548.     DWORD dwFlags;
  5549.     UINT cInstances;
  5550.     UINT nMediaTypes;
  5551.     /* [size_is] */ const REGPINTYPES *lpMediaType;
  5552.     UINT nMediums;
  5553.     /* [size_is] */ const REGPINMEDIUM *lpMedium;
  5554.     const CLSID *clsPinCategory;
  5555.     }     REGFILTERPINS2;
  5556.  
  5557. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0133_0006
  5558.     {
  5559.     DWORD dwVersion;
  5560.     DWORD dwMerit;
  5561.     /* [switch_type][switch_is] */ union 
  5562.         {
  5563.         /* [case()] */ struct 
  5564.             {
  5565.             ULONG cPins;
  5566.             /* [size_is] */ const REGFILTERPINS *rgPins;
  5567.             }     ;
  5568.         /* [case()] */ struct 
  5569.             {
  5570.             ULONG cPins2;
  5571.             /* [size_is] */ const REGFILTERPINS2 *rgPins2;
  5572.             }     ;
  5573.         /* [default] */  /* Empty union arm */ 
  5574.         }     ;
  5575.     }     REGFILTER2;
  5576.  
  5577.  
  5578.  
  5579. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_c_ifspec;
  5580. extern RPC_IF_HANDLE __MIDL_itf_strmif_0133_v0_0_s_ifspec;
  5581.  
  5582. #ifndef __IFilterMapper2_INTERFACE_DEFINED__
  5583. #define __IFilterMapper2_INTERFACE_DEFINED__
  5584.  
  5585. /* interface IFilterMapper2 */
  5586. /* [unique][uuid][object] */ 
  5587.  
  5588.  
  5589. EXTERN_C const IID IID_IFilterMapper2;
  5590.  
  5591. #if defined(__cplusplus) && !defined(CINTERFACE)
  5592.     
  5593.     MIDL_INTERFACE("b79bb0b0-33c1-11d1-abe1-00a0c905f375")
  5594.     IFilterMapper2 : public IUnknown
  5595.     {
  5596.     public:
  5597.         virtual HRESULT STDMETHODCALLTYPE CreateCategory( 
  5598.             /* [in] */ REFCLSID clsidCategory,
  5599.             /* [in] */ DWORD dwCategoryMerit,
  5600.             /* [in] */ LPCWSTR Description) = 0;
  5601.         
  5602.         virtual HRESULT STDMETHODCALLTYPE UnregisterFilter( 
  5603.             /* [in] */ const CLSID *pclsidCategory,
  5604.             /* [in] */ const OLECHAR *szInstance,
  5605.             /* [in] */ REFCLSID Filter) = 0;
  5606.         
  5607.         virtual HRESULT STDMETHODCALLTYPE RegisterFilter( 
  5608.             /* [in] */ REFCLSID clsidFilter,
  5609.             /* [in] */ LPCWSTR Name,
  5610.             /* [out][in] */ IMoniker **ppMoniker,
  5611.             /* [in] */ const CLSID *pclsidCategory,
  5612.             /* [in] */ const OLECHAR *szInstance,
  5613.             /* [in] */ const REGFILTER2 *prf2) = 0;
  5614.         
  5615.         virtual HRESULT STDMETHODCALLTYPE EnumMatchingFilters( 
  5616.             /* [out] */ IEnumMoniker **ppEnum,
  5617.             /* [in] */ DWORD dwFlags,
  5618.             /* [in] */ BOOL bExactMatch,
  5619.             /* [in] */ DWORD dwMerit,
  5620.             /* [in] */ BOOL bInputNeeded,
  5621.             /* [in] */ DWORD cInputTypes,
  5622.             /* [size_is] */ const GUID *pInputTypes,
  5623.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5624.             /* [in] */ const CLSID *pPinCategoryIn,
  5625.             /* [in] */ BOOL bRender,
  5626.             /* [in] */ BOOL bOutputNeeded,
  5627.             /* [in] */ DWORD cOutputTypes,
  5628.             /* [size_is] */ const GUID *pOutputTypes,
  5629.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5630.             /* [in] */ const CLSID *pPinCategoryOut) = 0;
  5631.         
  5632.     };
  5633.     
  5634. #else     /* C style interface */
  5635.  
  5636.     typedef struct IFilterMapper2Vtbl
  5637.     {
  5638.         BEGIN_INTERFACE
  5639.         
  5640.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5641.             IFilterMapper2 * This,
  5642.             /* [in] */ REFIID riid,
  5643.             /* [iid_is][out] */ void **ppvObject);
  5644.         
  5645.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5646.             IFilterMapper2 * This);
  5647.         
  5648.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5649.             IFilterMapper2 * This);
  5650.         
  5651.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5652.             IFilterMapper2 * This,
  5653.             /* [in] */ REFCLSID clsidCategory,
  5654.             /* [in] */ DWORD dwCategoryMerit,
  5655.             /* [in] */ LPCWSTR Description);
  5656.         
  5657.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5658.             IFilterMapper2 * This,
  5659.             /* [in] */ const CLSID *pclsidCategory,
  5660.             /* [in] */ const OLECHAR *szInstance,
  5661.             /* [in] */ REFCLSID Filter);
  5662.         
  5663.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5664.             IFilterMapper2 * This,
  5665.             /* [in] */ REFCLSID clsidFilter,
  5666.             /* [in] */ LPCWSTR Name,
  5667.             /* [out][in] */ IMoniker **ppMoniker,
  5668.             /* [in] */ const CLSID *pclsidCategory,
  5669.             /* [in] */ const OLECHAR *szInstance,
  5670.             /* [in] */ const REGFILTER2 *prf2);
  5671.         
  5672.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5673.             IFilterMapper2 * This,
  5674.             /* [out] */ IEnumMoniker **ppEnum,
  5675.             /* [in] */ DWORD dwFlags,
  5676.             /* [in] */ BOOL bExactMatch,
  5677.             /* [in] */ DWORD dwMerit,
  5678.             /* [in] */ BOOL bInputNeeded,
  5679.             /* [in] */ DWORD cInputTypes,
  5680.             /* [size_is] */ const GUID *pInputTypes,
  5681.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5682.             /* [in] */ const CLSID *pPinCategoryIn,
  5683.             /* [in] */ BOOL bRender,
  5684.             /* [in] */ BOOL bOutputNeeded,
  5685.             /* [in] */ DWORD cOutputTypes,
  5686.             /* [size_is] */ const GUID *pOutputTypes,
  5687.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5688.             /* [in] */ const CLSID *pPinCategoryOut);
  5689.         
  5690.         END_INTERFACE
  5691.     } IFilterMapper2Vtbl;
  5692.  
  5693.     interface IFilterMapper2
  5694.     {
  5695.         CONST_VTBL struct IFilterMapper2Vtbl *lpVtbl;
  5696.     };
  5697.  
  5698.     
  5699.  
  5700. #ifdef COBJMACROS
  5701.  
  5702.  
  5703. #define IFilterMapper2_QueryInterface(This,riid,ppvObject)    \
  5704.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5705.  
  5706. #define IFilterMapper2_AddRef(This)    \
  5707.     (This)->lpVtbl -> AddRef(This)
  5708.  
  5709. #define IFilterMapper2_Release(This)    \
  5710.     (This)->lpVtbl -> Release(This)
  5711.  
  5712.  
  5713. #define IFilterMapper2_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5714.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5715.  
  5716. #define IFilterMapper2_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5717.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5718.  
  5719. #define IFilterMapper2_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5720.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5721.  
  5722. #define IFilterMapper2_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5723.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5724.  
  5725. #endif /* COBJMACROS */
  5726.  
  5727.  
  5728. #endif     /* C style interface */
  5729.  
  5730.  
  5731.  
  5732. HRESULT STDMETHODCALLTYPE IFilterMapper2_CreateCategory_Proxy( 
  5733.     IFilterMapper2 * This,
  5734.     /* [in] */ REFCLSID clsidCategory,
  5735.     /* [in] */ DWORD dwCategoryMerit,
  5736.     /* [in] */ LPCWSTR Description);
  5737.  
  5738.  
  5739. void __RPC_STUB IFilterMapper2_CreateCategory_Stub(
  5740.     IRpcStubBuffer *This,
  5741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5742.     PRPC_MESSAGE _pRpcMessage,
  5743.     DWORD *_pdwStubPhase);
  5744.  
  5745.  
  5746. HRESULT STDMETHODCALLTYPE IFilterMapper2_UnregisterFilter_Proxy( 
  5747.     IFilterMapper2 * This,
  5748.     /* [in] */ const CLSID *pclsidCategory,
  5749.     /* [in] */ const OLECHAR *szInstance,
  5750.     /* [in] */ REFCLSID Filter);
  5751.  
  5752.  
  5753. void __RPC_STUB IFilterMapper2_UnregisterFilter_Stub(
  5754.     IRpcStubBuffer *This,
  5755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5756.     PRPC_MESSAGE _pRpcMessage,
  5757.     DWORD *_pdwStubPhase);
  5758.  
  5759.  
  5760. HRESULT STDMETHODCALLTYPE IFilterMapper2_RegisterFilter_Proxy( 
  5761.     IFilterMapper2 * This,
  5762.     /* [in] */ REFCLSID clsidFilter,
  5763.     /* [in] */ LPCWSTR Name,
  5764.     /* [out][in] */ IMoniker **ppMoniker,
  5765.     /* [in] */ const CLSID *pclsidCategory,
  5766.     /* [in] */ const OLECHAR *szInstance,
  5767.     /* [in] */ const REGFILTER2 *prf2);
  5768.  
  5769.  
  5770. void __RPC_STUB IFilterMapper2_RegisterFilter_Stub(
  5771.     IRpcStubBuffer *This,
  5772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5773.     PRPC_MESSAGE _pRpcMessage,
  5774.     DWORD *_pdwStubPhase);
  5775.  
  5776.  
  5777. HRESULT STDMETHODCALLTYPE IFilterMapper2_EnumMatchingFilters_Proxy( 
  5778.     IFilterMapper2 * This,
  5779.     /* [out] */ IEnumMoniker **ppEnum,
  5780.     /* [in] */ DWORD dwFlags,
  5781.     /* [in] */ BOOL bExactMatch,
  5782.     /* [in] */ DWORD dwMerit,
  5783.     /* [in] */ BOOL bInputNeeded,
  5784.     /* [in] */ DWORD cInputTypes,
  5785.     /* [size_is] */ const GUID *pInputTypes,
  5786.     /* [in] */ const REGPINMEDIUM *pMedIn,
  5787.     /* [in] */ const CLSID *pPinCategoryIn,
  5788.     /* [in] */ BOOL bRender,
  5789.     /* [in] */ BOOL bOutputNeeded,
  5790.     /* [in] */ DWORD cOutputTypes,
  5791.     /* [size_is] */ const GUID *pOutputTypes,
  5792.     /* [in] */ const REGPINMEDIUM *pMedOut,
  5793.     /* [in] */ const CLSID *pPinCategoryOut);
  5794.  
  5795.  
  5796. void __RPC_STUB IFilterMapper2_EnumMatchingFilters_Stub(
  5797.     IRpcStubBuffer *This,
  5798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5799.     PRPC_MESSAGE _pRpcMessage,
  5800.     DWORD *_pdwStubPhase);
  5801.  
  5802.  
  5803.  
  5804. #endif     /* __IFilterMapper2_INTERFACE_DEFINED__ */
  5805.  
  5806.  
  5807. #ifndef __IFilterMapper3_INTERFACE_DEFINED__
  5808. #define __IFilterMapper3_INTERFACE_DEFINED__
  5809.  
  5810. /* interface IFilterMapper3 */
  5811. /* [unique][uuid][object] */ 
  5812.  
  5813.  
  5814. EXTERN_C const IID IID_IFilterMapper3;
  5815.  
  5816. #if defined(__cplusplus) && !defined(CINTERFACE)
  5817.     
  5818.     MIDL_INTERFACE("b79bb0b1-33c1-11d1-abe1-00a0c905f375")
  5819.     IFilterMapper3 : public IFilterMapper2
  5820.     {
  5821.     public:
  5822.         virtual HRESULT STDMETHODCALLTYPE GetICreateDevEnum( 
  5823.             /* [out] */ ICreateDevEnum **ppEnum) = 0;
  5824.         
  5825.     };
  5826.     
  5827. #else     /* C style interface */
  5828.  
  5829.     typedef struct IFilterMapper3Vtbl
  5830.     {
  5831.         BEGIN_INTERFACE
  5832.         
  5833.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5834.             IFilterMapper3 * This,
  5835.             /* [in] */ REFIID riid,
  5836.             /* [iid_is][out] */ void **ppvObject);
  5837.         
  5838.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5839.             IFilterMapper3 * This);
  5840.         
  5841.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5842.             IFilterMapper3 * This);
  5843.         
  5844.         HRESULT ( STDMETHODCALLTYPE *CreateCategory )( 
  5845.             IFilterMapper3 * This,
  5846.             /* [in] */ REFCLSID clsidCategory,
  5847.             /* [in] */ DWORD dwCategoryMerit,
  5848.             /* [in] */ LPCWSTR Description);
  5849.         
  5850.         HRESULT ( STDMETHODCALLTYPE *UnregisterFilter )( 
  5851.             IFilterMapper3 * This,
  5852.             /* [in] */ const CLSID *pclsidCategory,
  5853.             /* [in] */ const OLECHAR *szInstance,
  5854.             /* [in] */ REFCLSID Filter);
  5855.         
  5856.         HRESULT ( STDMETHODCALLTYPE *RegisterFilter )( 
  5857.             IFilterMapper3 * This,
  5858.             /* [in] */ REFCLSID clsidFilter,
  5859.             /* [in] */ LPCWSTR Name,
  5860.             /* [out][in] */ IMoniker **ppMoniker,
  5861.             /* [in] */ const CLSID *pclsidCategory,
  5862.             /* [in] */ const OLECHAR *szInstance,
  5863.             /* [in] */ const REGFILTER2 *prf2);
  5864.         
  5865.         HRESULT ( STDMETHODCALLTYPE *EnumMatchingFilters )( 
  5866.             IFilterMapper3 * This,
  5867.             /* [out] */ IEnumMoniker **ppEnum,
  5868.             /* [in] */ DWORD dwFlags,
  5869.             /* [in] */ BOOL bExactMatch,
  5870.             /* [in] */ DWORD dwMerit,
  5871.             /* [in] */ BOOL bInputNeeded,
  5872.             /* [in] */ DWORD cInputTypes,
  5873.             /* [size_is] */ const GUID *pInputTypes,
  5874.             /* [in] */ const REGPINMEDIUM *pMedIn,
  5875.             /* [in] */ const CLSID *pPinCategoryIn,
  5876.             /* [in] */ BOOL bRender,
  5877.             /* [in] */ BOOL bOutputNeeded,
  5878.             /* [in] */ DWORD cOutputTypes,
  5879.             /* [size_is] */ const GUID *pOutputTypes,
  5880.             /* [in] */ const REGPINMEDIUM *pMedOut,
  5881.             /* [in] */ const CLSID *pPinCategoryOut);
  5882.         
  5883.         HRESULT ( STDMETHODCALLTYPE *GetICreateDevEnum )( 
  5884.             IFilterMapper3 * This,
  5885.             /* [out] */ ICreateDevEnum **ppEnum);
  5886.         
  5887.         END_INTERFACE
  5888.     } IFilterMapper3Vtbl;
  5889.  
  5890.     interface IFilterMapper3
  5891.     {
  5892.         CONST_VTBL struct IFilterMapper3Vtbl *lpVtbl;
  5893.     };
  5894.  
  5895.     
  5896.  
  5897. #ifdef COBJMACROS
  5898.  
  5899.  
  5900. #define IFilterMapper3_QueryInterface(This,riid,ppvObject)    \
  5901.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5902.  
  5903. #define IFilterMapper3_AddRef(This)    \
  5904.     (This)->lpVtbl -> AddRef(This)
  5905.  
  5906. #define IFilterMapper3_Release(This)    \
  5907.     (This)->lpVtbl -> Release(This)
  5908.  
  5909.  
  5910. #define IFilterMapper3_CreateCategory(This,clsidCategory,dwCategoryMerit,Description)    \
  5911.     (This)->lpVtbl -> CreateCategory(This,clsidCategory,dwCategoryMerit,Description)
  5912.  
  5913. #define IFilterMapper3_UnregisterFilter(This,pclsidCategory,szInstance,Filter)    \
  5914.     (This)->lpVtbl -> UnregisterFilter(This,pclsidCategory,szInstance,Filter)
  5915.  
  5916. #define IFilterMapper3_RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)    \
  5917.     (This)->lpVtbl -> RegisterFilter(This,clsidFilter,Name,ppMoniker,pclsidCategory,szInstance,prf2)
  5918.  
  5919. #define IFilterMapper3_EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)    \
  5920.     (This)->lpVtbl -> EnumMatchingFilters(This,ppEnum,dwFlags,bExactMatch,dwMerit,bInputNeeded,cInputTypes,pInputTypes,pMedIn,pPinCategoryIn,bRender,bOutputNeeded,cOutputTypes,pOutputTypes,pMedOut,pPinCategoryOut)
  5921.  
  5922.  
  5923. #define IFilterMapper3_GetICreateDevEnum(This,ppEnum)    \
  5924.     (This)->lpVtbl -> GetICreateDevEnum(This,ppEnum)
  5925.  
  5926. #endif /* COBJMACROS */
  5927.  
  5928.  
  5929. #endif     /* C style interface */
  5930.  
  5931.  
  5932.  
  5933. HRESULT STDMETHODCALLTYPE IFilterMapper3_GetICreateDevEnum_Proxy( 
  5934.     IFilterMapper3 * This,
  5935.     /* [out] */ ICreateDevEnum **ppEnum);
  5936.  
  5937.  
  5938. void __RPC_STUB IFilterMapper3_GetICreateDevEnum_Stub(
  5939.     IRpcStubBuffer *This,
  5940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5941.     PRPC_MESSAGE _pRpcMessage,
  5942.     DWORD *_pdwStubPhase);
  5943.  
  5944.  
  5945.  
  5946. #endif     /* __IFilterMapper3_INTERFACE_DEFINED__ */
  5947.  
  5948.  
  5949. /* interface __MIDL_itf_strmif_0136 */
  5950. /* [local] */ 
  5951.  
  5952. typedef 
  5953. enum tagQualityMessageType
  5954.     {    Famine    = 0,
  5955.     Flood    = Famine + 1
  5956.     }     QualityMessageType;
  5957.  
  5958. typedef struct tagQuality
  5959.     {
  5960.     QualityMessageType Type;
  5961.     long Proportion;
  5962.     REFERENCE_TIME Late;
  5963.     REFERENCE_TIME TimeStamp;
  5964.     }     Quality;
  5965.  
  5966. typedef IQualityControl *PQUALITYCONTROL;
  5967.  
  5968.  
  5969.  
  5970. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_c_ifspec;
  5971. extern RPC_IF_HANDLE __MIDL_itf_strmif_0136_v0_0_s_ifspec;
  5972.  
  5973. #ifndef __IQualityControl_INTERFACE_DEFINED__
  5974. #define __IQualityControl_INTERFACE_DEFINED__
  5975.  
  5976. /* interface IQualityControl */
  5977. /* [unique][uuid][object] */ 
  5978.  
  5979.  
  5980. EXTERN_C const IID IID_IQualityControl;
  5981.  
  5982. #if defined(__cplusplus) && !defined(CINTERFACE)
  5983.     
  5984.     MIDL_INTERFACE("56a868a5-0ad4-11ce-b03a-0020af0ba770")
  5985.     IQualityControl : public IUnknown
  5986.     {
  5987.     public:
  5988.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  5989.             /* [in] */ IBaseFilter *pSelf,
  5990.             /* [in] */ Quality q) = 0;
  5991.         
  5992.         virtual HRESULT STDMETHODCALLTYPE SetSink( 
  5993.             /* [in] */ IQualityControl *piqc) = 0;
  5994.         
  5995.     };
  5996.     
  5997. #else     /* C style interface */
  5998.  
  5999.     typedef struct IQualityControlVtbl
  6000.     {
  6001.         BEGIN_INTERFACE
  6002.         
  6003.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6004.             IQualityControl * This,
  6005.             /* [in] */ REFIID riid,
  6006.             /* [iid_is][out] */ void **ppvObject);
  6007.         
  6008.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6009.             IQualityControl * This);
  6010.         
  6011.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6012.             IQualityControl * This);
  6013.         
  6014.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6015.             IQualityControl * This,
  6016.             /* [in] */ IBaseFilter *pSelf,
  6017.             /* [in] */ Quality q);
  6018.         
  6019.         HRESULT ( STDMETHODCALLTYPE *SetSink )( 
  6020.             IQualityControl * This,
  6021.             /* [in] */ IQualityControl *piqc);
  6022.         
  6023.         END_INTERFACE
  6024.     } IQualityControlVtbl;
  6025.  
  6026.     interface IQualityControl
  6027.     {
  6028.         CONST_VTBL struct IQualityControlVtbl *lpVtbl;
  6029.     };
  6030.  
  6031.     
  6032.  
  6033. #ifdef COBJMACROS
  6034.  
  6035.  
  6036. #define IQualityControl_QueryInterface(This,riid,ppvObject)    \
  6037.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6038.  
  6039. #define IQualityControl_AddRef(This)    \
  6040.     (This)->lpVtbl -> AddRef(This)
  6041.  
  6042. #define IQualityControl_Release(This)    \
  6043.     (This)->lpVtbl -> Release(This)
  6044.  
  6045.  
  6046. #define IQualityControl_Notify(This,pSelf,q)    \
  6047.     (This)->lpVtbl -> Notify(This,pSelf,q)
  6048.  
  6049. #define IQualityControl_SetSink(This,piqc)    \
  6050.     (This)->lpVtbl -> SetSink(This,piqc)
  6051.  
  6052. #endif /* COBJMACROS */
  6053.  
  6054.  
  6055. #endif     /* C style interface */
  6056.  
  6057.  
  6058.  
  6059. HRESULT STDMETHODCALLTYPE IQualityControl_Notify_Proxy( 
  6060.     IQualityControl * This,
  6061.     /* [in] */ IBaseFilter *pSelf,
  6062.     /* [in] */ Quality q);
  6063.  
  6064.  
  6065. void __RPC_STUB IQualityControl_Notify_Stub(
  6066.     IRpcStubBuffer *This,
  6067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6068.     PRPC_MESSAGE _pRpcMessage,
  6069.     DWORD *_pdwStubPhase);
  6070.  
  6071.  
  6072. HRESULT STDMETHODCALLTYPE IQualityControl_SetSink_Proxy( 
  6073.     IQualityControl * This,
  6074.     /* [in] */ IQualityControl *piqc);
  6075.  
  6076.  
  6077. void __RPC_STUB IQualityControl_SetSink_Stub(
  6078.     IRpcStubBuffer *This,
  6079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6080.     PRPC_MESSAGE _pRpcMessage,
  6081.     DWORD *_pdwStubPhase);
  6082.  
  6083.  
  6084.  
  6085. #endif     /* __IQualityControl_INTERFACE_DEFINED__ */
  6086.  
  6087.  
  6088. /* interface __MIDL_itf_strmif_0137 */
  6089. /* [local] */ 
  6090.  
  6091.  
  6092. enum __MIDL___MIDL_itf_strmif_0137_0001
  6093.     {    CK_NOCOLORKEY    = 0,
  6094.     CK_INDEX    = 0x1,
  6095.     CK_RGB    = 0x2
  6096.     } ;
  6097. typedef struct tagCOLORKEY
  6098.     {
  6099.     DWORD KeyType;
  6100.     DWORD PaletteIndex;
  6101.     COLORREF LowColorValue;
  6102.     COLORREF HighColorValue;
  6103.     }     COLORKEY;
  6104.  
  6105.  
  6106. enum __MIDL___MIDL_itf_strmif_0137_0002
  6107.     {    ADVISE_NONE    = 0,
  6108.     ADVISE_CLIPPING    = 0x1,
  6109.     ADVISE_PALETTE    = 0x2,
  6110.     ADVISE_COLORKEY    = 0x4,
  6111.     ADVISE_POSITION    = 0x8,
  6112.     ADVISE_DISPLAY_CHANGE    = 0x10
  6113.     } ;
  6114. #define    ADVISE_ALL    ( ADVISE_CLIPPING | ADVISE_PALETTE | ADVISE_COLORKEY | ADVISE_POSITION )
  6115.  
  6116. #define    ADVISE_ALL2    ( ADVISE_ALL | ADVISE_DISPLAY_CHANGE )
  6117.  
  6118. #ifndef _WINGDI_
  6119. typedef struct _RGNDATAHEADER
  6120.     {
  6121.     DWORD dwSize;
  6122.     DWORD iType;
  6123.     DWORD nCount;
  6124.     DWORD nRgnSize;
  6125.     RECT rcBound;
  6126.     }     RGNDATAHEADER;
  6127.  
  6128. typedef struct _RGNDATA
  6129.     {
  6130.     RGNDATAHEADER rdh;
  6131.     char Buffer[ 1 ];
  6132.     }     RGNDATA;
  6133.  
  6134. #endif
  6135.  
  6136.  
  6137. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_c_ifspec;
  6138. extern RPC_IF_HANDLE __MIDL_itf_strmif_0137_v0_0_s_ifspec;
  6139.  
  6140. #ifndef __IOverlayNotify_INTERFACE_DEFINED__
  6141. #define __IOverlayNotify_INTERFACE_DEFINED__
  6142.  
  6143. /* interface IOverlayNotify */
  6144. /* [unique][uuid][local][object] */ 
  6145.  
  6146.  
  6147. EXTERN_C const IID IID_IOverlayNotify;
  6148.  
  6149. #if defined(__cplusplus) && !defined(CINTERFACE)
  6150.     
  6151.     MIDL_INTERFACE("56a868a0-0ad4-11ce-b03a-0020af0ba770")
  6152.     IOverlayNotify : public IUnknown
  6153.     {
  6154.     public:
  6155.         virtual HRESULT STDMETHODCALLTYPE OnPaletteChange( 
  6156.             /* [in] */ DWORD dwColors,
  6157.             /* [in] */ const PALETTEENTRY *pPalette) = 0;
  6158.         
  6159.         virtual HRESULT STDMETHODCALLTYPE OnClipChange( 
  6160.             /* [in] */ const RECT *pSourceRect,
  6161.             /* [in] */ const RECT *pDestinationRect,
  6162.             /* [in] */ const RGNDATA *pRgnData) = 0;
  6163.         
  6164.         virtual HRESULT STDMETHODCALLTYPE OnColorKeyChange( 
  6165.             /* [in] */ const COLORKEY *pColorKey) = 0;
  6166.         
  6167.         virtual HRESULT STDMETHODCALLTYPE OnPositionChange( 
  6168.             /* [in] */ const RECT *pSourceRect,
  6169.             /* [in] */ const RECT *pDestinationRect) = 0;
  6170.         
  6171.     };
  6172.     
  6173. #else     /* C style interface */
  6174.  
  6175.     typedef struct IOverlayNotifyVtbl
  6176.     {
  6177.         BEGIN_INTERFACE
  6178.         
  6179.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6180.             IOverlayNotify * This,
  6181.             /* [in] */ REFIID riid,
  6182.             /* [iid_is][out] */ void **ppvObject);
  6183.         
  6184.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6185.             IOverlayNotify * This);
  6186.         
  6187.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6188.             IOverlayNotify * This);
  6189.         
  6190.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6191.             IOverlayNotify * This,
  6192.             /* [in] */ DWORD dwColors,
  6193.             /* [in] */ const PALETTEENTRY *pPalette);
  6194.         
  6195.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6196.             IOverlayNotify * This,
  6197.             /* [in] */ const RECT *pSourceRect,
  6198.             /* [in] */ const RECT *pDestinationRect,
  6199.             /* [in] */ const RGNDATA *pRgnData);
  6200.         
  6201.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6202.             IOverlayNotify * This,
  6203.             /* [in] */ const COLORKEY *pColorKey);
  6204.         
  6205.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6206.             IOverlayNotify * This,
  6207.             /* [in] */ const RECT *pSourceRect,
  6208.             /* [in] */ const RECT *pDestinationRect);
  6209.         
  6210.         END_INTERFACE
  6211.     } IOverlayNotifyVtbl;
  6212.  
  6213.     interface IOverlayNotify
  6214.     {
  6215.         CONST_VTBL struct IOverlayNotifyVtbl *lpVtbl;
  6216.     };
  6217.  
  6218.     
  6219.  
  6220. #ifdef COBJMACROS
  6221.  
  6222.  
  6223. #define IOverlayNotify_QueryInterface(This,riid,ppvObject)    \
  6224.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6225.  
  6226. #define IOverlayNotify_AddRef(This)    \
  6227.     (This)->lpVtbl -> AddRef(This)
  6228.  
  6229. #define IOverlayNotify_Release(This)    \
  6230.     (This)->lpVtbl -> Release(This)
  6231.  
  6232.  
  6233. #define IOverlayNotify_OnPaletteChange(This,dwColors,pPalette)    \
  6234.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6235.  
  6236. #define IOverlayNotify_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6237.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6238.  
  6239. #define IOverlayNotify_OnColorKeyChange(This,pColorKey)    \
  6240.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6241.  
  6242. #define IOverlayNotify_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6243.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6244.  
  6245. #endif /* COBJMACROS */
  6246.  
  6247.  
  6248. #endif     /* C style interface */
  6249.  
  6250.  
  6251.  
  6252. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPaletteChange_Proxy( 
  6253.     IOverlayNotify * This,
  6254.     /* [in] */ DWORD dwColors,
  6255.     /* [in] */ const PALETTEENTRY *pPalette);
  6256.  
  6257.  
  6258. void __RPC_STUB IOverlayNotify_OnPaletteChange_Stub(
  6259.     IRpcStubBuffer *This,
  6260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6261.     PRPC_MESSAGE _pRpcMessage,
  6262.     DWORD *_pdwStubPhase);
  6263.  
  6264.  
  6265. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnClipChange_Proxy( 
  6266.     IOverlayNotify * This,
  6267.     /* [in] */ const RECT *pSourceRect,
  6268.     /* [in] */ const RECT *pDestinationRect,
  6269.     /* [in] */ const RGNDATA *pRgnData);
  6270.  
  6271.  
  6272. void __RPC_STUB IOverlayNotify_OnClipChange_Stub(
  6273.     IRpcStubBuffer *This,
  6274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6275.     PRPC_MESSAGE _pRpcMessage,
  6276.     DWORD *_pdwStubPhase);
  6277.  
  6278.  
  6279. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnColorKeyChange_Proxy( 
  6280.     IOverlayNotify * This,
  6281.     /* [in] */ const COLORKEY *pColorKey);
  6282.  
  6283.  
  6284. void __RPC_STUB IOverlayNotify_OnColorKeyChange_Stub(
  6285.     IRpcStubBuffer *This,
  6286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6287.     PRPC_MESSAGE _pRpcMessage,
  6288.     DWORD *_pdwStubPhase);
  6289.  
  6290.  
  6291. HRESULT STDMETHODCALLTYPE IOverlayNotify_OnPositionChange_Proxy( 
  6292.     IOverlayNotify * This,
  6293.     /* [in] */ const RECT *pSourceRect,
  6294.     /* [in] */ const RECT *pDestinationRect);
  6295.  
  6296.  
  6297. void __RPC_STUB IOverlayNotify_OnPositionChange_Stub(
  6298.     IRpcStubBuffer *This,
  6299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6300.     PRPC_MESSAGE _pRpcMessage,
  6301.     DWORD *_pdwStubPhase);
  6302.  
  6303.  
  6304.  
  6305. #endif     /* __IOverlayNotify_INTERFACE_DEFINED__ */
  6306.  
  6307.  
  6308. /* interface __MIDL_itf_strmif_0138 */
  6309. /* [local] */ 
  6310.  
  6311. typedef IOverlayNotify *POVERLAYNOTIFY;
  6312.  
  6313. #if !defined(HMONITOR_DECLARED) && !defined(HMONITOR) && (WINVER < 0x0500)
  6314. #define HMONITOR_DECLARED
  6315. #if 0
  6316. typedef HANDLE HMONITOR;
  6317.  
  6318. #endif
  6319. DECLARE_HANDLE(HMONITOR);
  6320. #endif
  6321.  
  6322.  
  6323. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_c_ifspec;
  6324. extern RPC_IF_HANDLE __MIDL_itf_strmif_0138_v0_0_s_ifspec;
  6325.  
  6326. #ifndef __IOverlayNotify2_INTERFACE_DEFINED__
  6327. #define __IOverlayNotify2_INTERFACE_DEFINED__
  6328.  
  6329. /* interface IOverlayNotify2 */
  6330. /* [unique][uuid][local][object] */ 
  6331.  
  6332.  
  6333. EXTERN_C const IID IID_IOverlayNotify2;
  6334.  
  6335. #if defined(__cplusplus) && !defined(CINTERFACE)
  6336.     
  6337.     MIDL_INTERFACE("680EFA10-D535-11D1-87C8-00A0C9223196")
  6338.     IOverlayNotify2 : public IOverlayNotify
  6339.     {
  6340.     public:
  6341.         virtual HRESULT STDMETHODCALLTYPE OnDisplayChange( 
  6342.             HMONITOR hMonitor) = 0;
  6343.         
  6344.     };
  6345.     
  6346. #else     /* C style interface */
  6347.  
  6348.     typedef struct IOverlayNotify2Vtbl
  6349.     {
  6350.         BEGIN_INTERFACE
  6351.         
  6352.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6353.             IOverlayNotify2 * This,
  6354.             /* [in] */ REFIID riid,
  6355.             /* [iid_is][out] */ void **ppvObject);
  6356.         
  6357.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6358.             IOverlayNotify2 * This);
  6359.         
  6360.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6361.             IOverlayNotify2 * This);
  6362.         
  6363.         HRESULT ( STDMETHODCALLTYPE *OnPaletteChange )( 
  6364.             IOverlayNotify2 * This,
  6365.             /* [in] */ DWORD dwColors,
  6366.             /* [in] */ const PALETTEENTRY *pPalette);
  6367.         
  6368.         HRESULT ( STDMETHODCALLTYPE *OnClipChange )( 
  6369.             IOverlayNotify2 * This,
  6370.             /* [in] */ const RECT *pSourceRect,
  6371.             /* [in] */ const RECT *pDestinationRect,
  6372.             /* [in] */ const RGNDATA *pRgnData);
  6373.         
  6374.         HRESULT ( STDMETHODCALLTYPE *OnColorKeyChange )( 
  6375.             IOverlayNotify2 * This,
  6376.             /* [in] */ const COLORKEY *pColorKey);
  6377.         
  6378.         HRESULT ( STDMETHODCALLTYPE *OnPositionChange )( 
  6379.             IOverlayNotify2 * This,
  6380.             /* [in] */ const RECT *pSourceRect,
  6381.             /* [in] */ const RECT *pDestinationRect);
  6382.         
  6383.         HRESULT ( STDMETHODCALLTYPE *OnDisplayChange )( 
  6384.             IOverlayNotify2 * This,
  6385.             HMONITOR hMonitor);
  6386.         
  6387.         END_INTERFACE
  6388.     } IOverlayNotify2Vtbl;
  6389.  
  6390.     interface IOverlayNotify2
  6391.     {
  6392.         CONST_VTBL struct IOverlayNotify2Vtbl *lpVtbl;
  6393.     };
  6394.  
  6395.     
  6396.  
  6397. #ifdef COBJMACROS
  6398.  
  6399.  
  6400. #define IOverlayNotify2_QueryInterface(This,riid,ppvObject)    \
  6401.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6402.  
  6403. #define IOverlayNotify2_AddRef(This)    \
  6404.     (This)->lpVtbl -> AddRef(This)
  6405.  
  6406. #define IOverlayNotify2_Release(This)    \
  6407.     (This)->lpVtbl -> Release(This)
  6408.  
  6409.  
  6410. #define IOverlayNotify2_OnPaletteChange(This,dwColors,pPalette)    \
  6411.     (This)->lpVtbl -> OnPaletteChange(This,dwColors,pPalette)
  6412.  
  6413. #define IOverlayNotify2_OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)    \
  6414.     (This)->lpVtbl -> OnClipChange(This,pSourceRect,pDestinationRect,pRgnData)
  6415.  
  6416. #define IOverlayNotify2_OnColorKeyChange(This,pColorKey)    \
  6417.     (This)->lpVtbl -> OnColorKeyChange(This,pColorKey)
  6418.  
  6419. #define IOverlayNotify2_OnPositionChange(This,pSourceRect,pDestinationRect)    \
  6420.     (This)->lpVtbl -> OnPositionChange(This,pSourceRect,pDestinationRect)
  6421.  
  6422.  
  6423. #define IOverlayNotify2_OnDisplayChange(This,hMonitor)    \
  6424.     (This)->lpVtbl -> OnDisplayChange(This,hMonitor)
  6425.  
  6426. #endif /* COBJMACROS */
  6427.  
  6428.  
  6429. #endif     /* C style interface */
  6430.  
  6431.  
  6432.  
  6433. HRESULT STDMETHODCALLTYPE IOverlayNotify2_OnDisplayChange_Proxy( 
  6434.     IOverlayNotify2 * This,
  6435.     HMONITOR hMonitor);
  6436.  
  6437.  
  6438. void __RPC_STUB IOverlayNotify2_OnDisplayChange_Stub(
  6439.     IRpcStubBuffer *This,
  6440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6441.     PRPC_MESSAGE _pRpcMessage,
  6442.     DWORD *_pdwStubPhase);
  6443.  
  6444.  
  6445.  
  6446. #endif     /* __IOverlayNotify2_INTERFACE_DEFINED__ */
  6447.  
  6448.  
  6449. /* interface __MIDL_itf_strmif_0139 */
  6450. /* [local] */ 
  6451.  
  6452. typedef IOverlayNotify2 *POVERLAYNOTIFY2;
  6453.  
  6454.  
  6455.  
  6456. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_c_ifspec;
  6457. extern RPC_IF_HANDLE __MIDL_itf_strmif_0139_v0_0_s_ifspec;
  6458.  
  6459. #ifndef __IOverlay_INTERFACE_DEFINED__
  6460. #define __IOverlay_INTERFACE_DEFINED__
  6461.  
  6462. /* interface IOverlay */
  6463. /* [unique][uuid][local][object] */ 
  6464.  
  6465.  
  6466. EXTERN_C const IID IID_IOverlay;
  6467.  
  6468. #if defined(__cplusplus) && !defined(CINTERFACE)
  6469.     
  6470.     MIDL_INTERFACE("56a868a1-0ad4-11ce-b03a-0020af0ba770")
  6471.     IOverlay : public IUnknown
  6472.     {
  6473.     public:
  6474.         virtual HRESULT STDMETHODCALLTYPE GetPalette( 
  6475.             /* [out] */ DWORD *pdwColors,
  6476.             /* [out] */ PALETTEENTRY **ppPalette) = 0;
  6477.         
  6478.         virtual HRESULT STDMETHODCALLTYPE SetPalette( 
  6479.             /* [in] */ DWORD dwColors,
  6480.             /* [in] */ PALETTEENTRY *pPalette) = 0;
  6481.         
  6482.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColorKey( 
  6483.             /* [out] */ COLORKEY *pColorKey) = 0;
  6484.         
  6485.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  6486.             /* [out] */ COLORKEY *pColorKey) = 0;
  6487.         
  6488.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  6489.             /* [out][in] */ COLORKEY *pColorKey) = 0;
  6490.         
  6491.         virtual HRESULT STDMETHODCALLTYPE GetWindowHandle( 
  6492.             /* [out] */ HWND *pHwnd) = 0;
  6493.         
  6494.         virtual HRESULT STDMETHODCALLTYPE GetClipList( 
  6495.             /* [out] */ RECT *pSourceRect,
  6496.             /* [out] */ RECT *pDestinationRect,
  6497.             /* [out] */ RGNDATA **ppRgnData) = 0;
  6498.         
  6499.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  6500.             /* [out] */ RECT *pSourceRect,
  6501.             /* [out] */ RECT *pDestinationRect) = 0;
  6502.         
  6503.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  6504.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6505.             /* [in] */ DWORD dwInterests) = 0;
  6506.         
  6507.         virtual HRESULT STDMETHODCALLTYPE Unadvise( void) = 0;
  6508.         
  6509.     };
  6510.     
  6511. #else     /* C style interface */
  6512.  
  6513.     typedef struct IOverlayVtbl
  6514.     {
  6515.         BEGIN_INTERFACE
  6516.         
  6517.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6518.             IOverlay * This,
  6519.             /* [in] */ REFIID riid,
  6520.             /* [iid_is][out] */ void **ppvObject);
  6521.         
  6522.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6523.             IOverlay * This);
  6524.         
  6525.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6526.             IOverlay * This);
  6527.         
  6528.         HRESULT ( STDMETHODCALLTYPE *GetPalette )( 
  6529.             IOverlay * This,
  6530.             /* [out] */ DWORD *pdwColors,
  6531.             /* [out] */ PALETTEENTRY **ppPalette);
  6532.         
  6533.         HRESULT ( STDMETHODCALLTYPE *SetPalette )( 
  6534.             IOverlay * This,
  6535.             /* [in] */ DWORD dwColors,
  6536.             /* [in] */ PALETTEENTRY *pPalette);
  6537.         
  6538.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColorKey )( 
  6539.             IOverlay * This,
  6540.             /* [out] */ COLORKEY *pColorKey);
  6541.         
  6542.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  6543.             IOverlay * This,
  6544.             /* [out] */ COLORKEY *pColorKey);
  6545.         
  6546.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  6547.             IOverlay * This,
  6548.             /* [out][in] */ COLORKEY *pColorKey);
  6549.         
  6550.         HRESULT ( STDMETHODCALLTYPE *GetWindowHandle )( 
  6551.             IOverlay * This,
  6552.             /* [out] */ HWND *pHwnd);
  6553.         
  6554.         HRESULT ( STDMETHODCALLTYPE *GetClipList )( 
  6555.             IOverlay * This,
  6556.             /* [out] */ RECT *pSourceRect,
  6557.             /* [out] */ RECT *pDestinationRect,
  6558.             /* [out] */ RGNDATA **ppRgnData);
  6559.         
  6560.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  6561.             IOverlay * This,
  6562.             /* [out] */ RECT *pSourceRect,
  6563.             /* [out] */ RECT *pDestinationRect);
  6564.         
  6565.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  6566.             IOverlay * This,
  6567.             /* [in] */ IOverlayNotify *pOverlayNotify,
  6568.             /* [in] */ DWORD dwInterests);
  6569.         
  6570.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  6571.             IOverlay * This);
  6572.         
  6573.         END_INTERFACE
  6574.     } IOverlayVtbl;
  6575.  
  6576.     interface IOverlay
  6577.     {
  6578.         CONST_VTBL struct IOverlayVtbl *lpVtbl;
  6579.     };
  6580.  
  6581.     
  6582.  
  6583. #ifdef COBJMACROS
  6584.  
  6585.  
  6586. #define IOverlay_QueryInterface(This,riid,ppvObject)    \
  6587.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6588.  
  6589. #define IOverlay_AddRef(This)    \
  6590.     (This)->lpVtbl -> AddRef(This)
  6591.  
  6592. #define IOverlay_Release(This)    \
  6593.     (This)->lpVtbl -> Release(This)
  6594.  
  6595.  
  6596. #define IOverlay_GetPalette(This,pdwColors,ppPalette)    \
  6597.     (This)->lpVtbl -> GetPalette(This,pdwColors,ppPalette)
  6598.  
  6599. #define IOverlay_SetPalette(This,dwColors,pPalette)    \
  6600.     (This)->lpVtbl -> SetPalette(This,dwColors,pPalette)
  6601.  
  6602. #define IOverlay_GetDefaultColorKey(This,pColorKey)    \
  6603.     (This)->lpVtbl -> GetDefaultColorKey(This,pColorKey)
  6604.  
  6605. #define IOverlay_GetColorKey(This,pColorKey)    \
  6606.     (This)->lpVtbl -> GetColorKey(This,pColorKey)
  6607.  
  6608. #define IOverlay_SetColorKey(This,pColorKey)    \
  6609.     (This)->lpVtbl -> SetColorKey(This,pColorKey)
  6610.  
  6611. #define IOverlay_GetWindowHandle(This,pHwnd)    \
  6612.     (This)->lpVtbl -> GetWindowHandle(This,pHwnd)
  6613.  
  6614. #define IOverlay_GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)    \
  6615.     (This)->lpVtbl -> GetClipList(This,pSourceRect,pDestinationRect,ppRgnData)
  6616.  
  6617. #define IOverlay_GetVideoPosition(This,pSourceRect,pDestinationRect)    \
  6618.     (This)->lpVtbl -> GetVideoPosition(This,pSourceRect,pDestinationRect)
  6619.  
  6620. #define IOverlay_Advise(This,pOverlayNotify,dwInterests)    \
  6621.     (This)->lpVtbl -> Advise(This,pOverlayNotify,dwInterests)
  6622.  
  6623. #define IOverlay_Unadvise(This)    \
  6624.     (This)->lpVtbl -> Unadvise(This)
  6625.  
  6626. #endif /* COBJMACROS */
  6627.  
  6628.  
  6629. #endif     /* C style interface */
  6630.  
  6631.  
  6632.  
  6633. HRESULT STDMETHODCALLTYPE IOverlay_GetPalette_Proxy( 
  6634.     IOverlay * This,
  6635.     /* [out] */ DWORD *pdwColors,
  6636.     /* [out] */ PALETTEENTRY **ppPalette);
  6637.  
  6638.  
  6639. void __RPC_STUB IOverlay_GetPalette_Stub(
  6640.     IRpcStubBuffer *This,
  6641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6642.     PRPC_MESSAGE _pRpcMessage,
  6643.     DWORD *_pdwStubPhase);
  6644.  
  6645.  
  6646. HRESULT STDMETHODCALLTYPE IOverlay_SetPalette_Proxy( 
  6647.     IOverlay * This,
  6648.     /* [in] */ DWORD dwColors,
  6649.     /* [in] */ PALETTEENTRY *pPalette);
  6650.  
  6651.  
  6652. void __RPC_STUB IOverlay_SetPalette_Stub(
  6653.     IRpcStubBuffer *This,
  6654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6655.     PRPC_MESSAGE _pRpcMessage,
  6656.     DWORD *_pdwStubPhase);
  6657.  
  6658.  
  6659. HRESULT STDMETHODCALLTYPE IOverlay_GetDefaultColorKey_Proxy( 
  6660.     IOverlay * This,
  6661.     /* [out] */ COLORKEY *pColorKey);
  6662.  
  6663.  
  6664. void __RPC_STUB IOverlay_GetDefaultColorKey_Stub(
  6665.     IRpcStubBuffer *This,
  6666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6667.     PRPC_MESSAGE _pRpcMessage,
  6668.     DWORD *_pdwStubPhase);
  6669.  
  6670.  
  6671. HRESULT STDMETHODCALLTYPE IOverlay_GetColorKey_Proxy( 
  6672.     IOverlay * This,
  6673.     /* [out] */ COLORKEY *pColorKey);
  6674.  
  6675.  
  6676. void __RPC_STUB IOverlay_GetColorKey_Stub(
  6677.     IRpcStubBuffer *This,
  6678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6679.     PRPC_MESSAGE _pRpcMessage,
  6680.     DWORD *_pdwStubPhase);
  6681.  
  6682.  
  6683. HRESULT STDMETHODCALLTYPE IOverlay_SetColorKey_Proxy( 
  6684.     IOverlay * This,
  6685.     /* [out][in] */ COLORKEY *pColorKey);
  6686.  
  6687.  
  6688. void __RPC_STUB IOverlay_SetColorKey_Stub(
  6689.     IRpcStubBuffer *This,
  6690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6691.     PRPC_MESSAGE _pRpcMessage,
  6692.     DWORD *_pdwStubPhase);
  6693.  
  6694.  
  6695. HRESULT STDMETHODCALLTYPE IOverlay_GetWindowHandle_Proxy( 
  6696.     IOverlay * This,
  6697.     /* [out] */ HWND *pHwnd);
  6698.  
  6699.  
  6700. void __RPC_STUB IOverlay_GetWindowHandle_Stub(
  6701.     IRpcStubBuffer *This,
  6702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6703.     PRPC_MESSAGE _pRpcMessage,
  6704.     DWORD *_pdwStubPhase);
  6705.  
  6706.  
  6707. HRESULT STDMETHODCALLTYPE IOverlay_GetClipList_Proxy( 
  6708.     IOverlay * This,
  6709.     /* [out] */ RECT *pSourceRect,
  6710.     /* [out] */ RECT *pDestinationRect,
  6711.     /* [out] */ RGNDATA **ppRgnData);
  6712.  
  6713.  
  6714. void __RPC_STUB IOverlay_GetClipList_Stub(
  6715.     IRpcStubBuffer *This,
  6716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6717.     PRPC_MESSAGE _pRpcMessage,
  6718.     DWORD *_pdwStubPhase);
  6719.  
  6720.  
  6721. HRESULT STDMETHODCALLTYPE IOverlay_GetVideoPosition_Proxy( 
  6722.     IOverlay * This,
  6723.     /* [out] */ RECT *pSourceRect,
  6724.     /* [out] */ RECT *pDestinationRect);
  6725.  
  6726.  
  6727. void __RPC_STUB IOverlay_GetVideoPosition_Stub(
  6728.     IRpcStubBuffer *This,
  6729.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6730.     PRPC_MESSAGE _pRpcMessage,
  6731.     DWORD *_pdwStubPhase);
  6732.  
  6733.  
  6734. HRESULT STDMETHODCALLTYPE IOverlay_Advise_Proxy( 
  6735.     IOverlay * This,
  6736.     /* [in] */ IOverlayNotify *pOverlayNotify,
  6737.     /* [in] */ DWORD dwInterests);
  6738.  
  6739.  
  6740. void __RPC_STUB IOverlay_Advise_Stub(
  6741.     IRpcStubBuffer *This,
  6742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6743.     PRPC_MESSAGE _pRpcMessage,
  6744.     DWORD *_pdwStubPhase);
  6745.  
  6746.  
  6747. HRESULT STDMETHODCALLTYPE IOverlay_Unadvise_Proxy( 
  6748.     IOverlay * This);
  6749.  
  6750.  
  6751. void __RPC_STUB IOverlay_Unadvise_Stub(
  6752.     IRpcStubBuffer *This,
  6753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6754.     PRPC_MESSAGE _pRpcMessage,
  6755.     DWORD *_pdwStubPhase);
  6756.  
  6757.  
  6758.  
  6759. #endif     /* __IOverlay_INTERFACE_DEFINED__ */
  6760.  
  6761.  
  6762. /* interface __MIDL_itf_strmif_0140 */
  6763. /* [local] */ 
  6764.  
  6765. typedef IOverlay *POVERLAY;
  6766.  
  6767.  
  6768.  
  6769. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_c_ifspec;
  6770. extern RPC_IF_HANDLE __MIDL_itf_strmif_0140_v0_0_s_ifspec;
  6771.  
  6772. #ifndef __IMediaEventSink_INTERFACE_DEFINED__
  6773. #define __IMediaEventSink_INTERFACE_DEFINED__
  6774.  
  6775. /* interface IMediaEventSink */
  6776. /* [unique][uuid][object] */ 
  6777.  
  6778.  
  6779. EXTERN_C const IID IID_IMediaEventSink;
  6780.  
  6781. #if defined(__cplusplus) && !defined(CINTERFACE)
  6782.     
  6783.     MIDL_INTERFACE("56a868a2-0ad4-11ce-b03a-0020af0ba770")
  6784.     IMediaEventSink : public IUnknown
  6785.     {
  6786.     public:
  6787.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  6788.             /* [in] */ long EventCode,
  6789.             /* [in] */ LONG_PTR EventParam1,
  6790.             /* [in] */ LONG_PTR EventParam2) = 0;
  6791.         
  6792.     };
  6793.     
  6794. #else     /* C style interface */
  6795.  
  6796.     typedef struct IMediaEventSinkVtbl
  6797.     {
  6798.         BEGIN_INTERFACE
  6799.         
  6800.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6801.             IMediaEventSink * This,
  6802.             /* [in] */ REFIID riid,
  6803.             /* [iid_is][out] */ void **ppvObject);
  6804.         
  6805.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6806.             IMediaEventSink * This);
  6807.         
  6808.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6809.             IMediaEventSink * This);
  6810.         
  6811.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  6812.             IMediaEventSink * This,
  6813.             /* [in] */ long EventCode,
  6814.             /* [in] */ LONG_PTR EventParam1,
  6815.             /* [in] */ LONG_PTR EventParam2);
  6816.         
  6817.         END_INTERFACE
  6818.     } IMediaEventSinkVtbl;
  6819.  
  6820.     interface IMediaEventSink
  6821.     {
  6822.         CONST_VTBL struct IMediaEventSinkVtbl *lpVtbl;
  6823.     };
  6824.  
  6825.     
  6826.  
  6827. #ifdef COBJMACROS
  6828.  
  6829.  
  6830. #define IMediaEventSink_QueryInterface(This,riid,ppvObject)    \
  6831.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6832.  
  6833. #define IMediaEventSink_AddRef(This)    \
  6834.     (This)->lpVtbl -> AddRef(This)
  6835.  
  6836. #define IMediaEventSink_Release(This)    \
  6837.     (This)->lpVtbl -> Release(This)
  6838.  
  6839.  
  6840. #define IMediaEventSink_Notify(This,EventCode,EventParam1,EventParam2)    \
  6841.     (This)->lpVtbl -> Notify(This,EventCode,EventParam1,EventParam2)
  6842.  
  6843. #endif /* COBJMACROS */
  6844.  
  6845.  
  6846. #endif     /* C style interface */
  6847.  
  6848.  
  6849.  
  6850. HRESULT STDMETHODCALLTYPE IMediaEventSink_Notify_Proxy( 
  6851.     IMediaEventSink * This,
  6852.     /* [in] */ long EventCode,
  6853.     /* [in] */ LONG_PTR EventParam1,
  6854.     /* [in] */ LONG_PTR EventParam2);
  6855.  
  6856.  
  6857. void __RPC_STUB IMediaEventSink_Notify_Stub(
  6858.     IRpcStubBuffer *This,
  6859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6860.     PRPC_MESSAGE _pRpcMessage,
  6861.     DWORD *_pdwStubPhase);
  6862.  
  6863.  
  6864.  
  6865. #endif     /* __IMediaEventSink_INTERFACE_DEFINED__ */
  6866.  
  6867.  
  6868. /* interface __MIDL_itf_strmif_0141 */
  6869. /* [local] */ 
  6870.  
  6871. typedef IMediaEventSink *PMEDIAEVENTSINK;
  6872.  
  6873.  
  6874.  
  6875. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_c_ifspec;
  6876. extern RPC_IF_HANDLE __MIDL_itf_strmif_0141_v0_0_s_ifspec;
  6877.  
  6878. #ifndef __IFileSourceFilter_INTERFACE_DEFINED__
  6879. #define __IFileSourceFilter_INTERFACE_DEFINED__
  6880.  
  6881. /* interface IFileSourceFilter */
  6882. /* [unique][uuid][object] */ 
  6883.  
  6884.  
  6885. EXTERN_C const IID IID_IFileSourceFilter;
  6886.  
  6887. #if defined(__cplusplus) && !defined(CINTERFACE)
  6888.     
  6889.     MIDL_INTERFACE("56a868a6-0ad4-11ce-b03a-0020af0ba770")
  6890.     IFileSourceFilter : public IUnknown
  6891.     {
  6892.     public:
  6893.         virtual HRESULT STDMETHODCALLTYPE Load( 
  6894.             /* [in] */ LPCOLESTR pszFileName,
  6895.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  6896.         
  6897.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  6898.             /* [out] */ LPOLESTR *ppszFileName,
  6899.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  6900.         
  6901.     };
  6902.     
  6903. #else     /* C style interface */
  6904.  
  6905.     typedef struct IFileSourceFilterVtbl
  6906.     {
  6907.         BEGIN_INTERFACE
  6908.         
  6909.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  6910.             IFileSourceFilter * This,
  6911.             /* [in] */ REFIID riid,
  6912.             /* [iid_is][out] */ void **ppvObject);
  6913.         
  6914.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  6915.             IFileSourceFilter * This);
  6916.         
  6917.         ULONG ( STDMETHODCALLTYPE *Release )( 
  6918.             IFileSourceFilter * This);
  6919.         
  6920.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  6921.             IFileSourceFilter * This,
  6922.             /* [in] */ LPCOLESTR pszFileName,
  6923.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6924.         
  6925.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  6926.             IFileSourceFilter * This,
  6927.             /* [out] */ LPOLESTR *ppszFileName,
  6928.             /* [out] */ AM_MEDIA_TYPE *pmt);
  6929.         
  6930.         END_INTERFACE
  6931.     } IFileSourceFilterVtbl;
  6932.  
  6933.     interface IFileSourceFilter
  6934.     {
  6935.         CONST_VTBL struct IFileSourceFilterVtbl *lpVtbl;
  6936.     };
  6937.  
  6938.     
  6939.  
  6940. #ifdef COBJMACROS
  6941.  
  6942.  
  6943. #define IFileSourceFilter_QueryInterface(This,riid,ppvObject)    \
  6944.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6945.  
  6946. #define IFileSourceFilter_AddRef(This)    \
  6947.     (This)->lpVtbl -> AddRef(This)
  6948.  
  6949. #define IFileSourceFilter_Release(This)    \
  6950.     (This)->lpVtbl -> Release(This)
  6951.  
  6952.  
  6953. #define IFileSourceFilter_Load(This,pszFileName,pmt)    \
  6954.     (This)->lpVtbl -> Load(This,pszFileName,pmt)
  6955.  
  6956. #define IFileSourceFilter_GetCurFile(This,ppszFileName,pmt)    \
  6957.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  6958.  
  6959. #endif /* COBJMACROS */
  6960.  
  6961.  
  6962. #endif     /* C style interface */
  6963.  
  6964.  
  6965.  
  6966. HRESULT STDMETHODCALLTYPE IFileSourceFilter_Load_Proxy( 
  6967.     IFileSourceFilter * This,
  6968.     /* [in] */ LPCOLESTR pszFileName,
  6969.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  6970.  
  6971.  
  6972. void __RPC_STUB IFileSourceFilter_Load_Stub(
  6973.     IRpcStubBuffer *This,
  6974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6975.     PRPC_MESSAGE _pRpcMessage,
  6976.     DWORD *_pdwStubPhase);
  6977.  
  6978.  
  6979. HRESULT STDMETHODCALLTYPE IFileSourceFilter_GetCurFile_Proxy( 
  6980.     IFileSourceFilter * This,
  6981.     /* [out] */ LPOLESTR *ppszFileName,
  6982.     /* [out] */ AM_MEDIA_TYPE *pmt);
  6983.  
  6984.  
  6985. void __RPC_STUB IFileSourceFilter_GetCurFile_Stub(
  6986.     IRpcStubBuffer *This,
  6987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6988.     PRPC_MESSAGE _pRpcMessage,
  6989.     DWORD *_pdwStubPhase);
  6990.  
  6991.  
  6992.  
  6993. #endif     /* __IFileSourceFilter_INTERFACE_DEFINED__ */
  6994.  
  6995.  
  6996. /* interface __MIDL_itf_strmif_0142 */
  6997. /* [local] */ 
  6998.  
  6999. typedef IFileSourceFilter *PFILTERFILESOURCE;
  7000.  
  7001.  
  7002.  
  7003. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_c_ifspec;
  7004. extern RPC_IF_HANDLE __MIDL_itf_strmif_0142_v0_0_s_ifspec;
  7005.  
  7006. #ifndef __IFileSinkFilter_INTERFACE_DEFINED__
  7007. #define __IFileSinkFilter_INTERFACE_DEFINED__
  7008.  
  7009. /* interface IFileSinkFilter */
  7010. /* [unique][uuid][object] */ 
  7011.  
  7012.  
  7013. EXTERN_C const IID IID_IFileSinkFilter;
  7014.  
  7015. #if defined(__cplusplus) && !defined(CINTERFACE)
  7016.     
  7017.     MIDL_INTERFACE("a2104830-7c70-11cf-8bce-00aa00a3f1a6")
  7018.     IFileSinkFilter : public IUnknown
  7019.     {
  7020.     public:
  7021.         virtual HRESULT STDMETHODCALLTYPE SetFileName( 
  7022.             /* [in] */ LPCOLESTR pszFileName,
  7023.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  7024.         
  7025.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  7026.             /* [out] */ LPOLESTR *ppszFileName,
  7027.             /* [out] */ AM_MEDIA_TYPE *pmt) = 0;
  7028.         
  7029.     };
  7030.     
  7031. #else     /* C style interface */
  7032.  
  7033.     typedef struct IFileSinkFilterVtbl
  7034.     {
  7035.         BEGIN_INTERFACE
  7036.         
  7037.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7038.             IFileSinkFilter * This,
  7039.             /* [in] */ REFIID riid,
  7040.             /* [iid_is][out] */ void **ppvObject);
  7041.         
  7042.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7043.             IFileSinkFilter * This);
  7044.         
  7045.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7046.             IFileSinkFilter * This);
  7047.         
  7048.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7049.             IFileSinkFilter * This,
  7050.             /* [in] */ LPCOLESTR pszFileName,
  7051.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7052.         
  7053.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7054.             IFileSinkFilter * This,
  7055.             /* [out] */ LPOLESTR *ppszFileName,
  7056.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7057.         
  7058.         END_INTERFACE
  7059.     } IFileSinkFilterVtbl;
  7060.  
  7061.     interface IFileSinkFilter
  7062.     {
  7063.         CONST_VTBL struct IFileSinkFilterVtbl *lpVtbl;
  7064.     };
  7065.  
  7066.     
  7067.  
  7068. #ifdef COBJMACROS
  7069.  
  7070.  
  7071. #define IFileSinkFilter_QueryInterface(This,riid,ppvObject)    \
  7072.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7073.  
  7074. #define IFileSinkFilter_AddRef(This)    \
  7075.     (This)->lpVtbl -> AddRef(This)
  7076.  
  7077. #define IFileSinkFilter_Release(This)    \
  7078.     (This)->lpVtbl -> Release(This)
  7079.  
  7080.  
  7081. #define IFileSinkFilter_SetFileName(This,pszFileName,pmt)    \
  7082.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7083.  
  7084. #define IFileSinkFilter_GetCurFile(This,ppszFileName,pmt)    \
  7085.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7086.  
  7087. #endif /* COBJMACROS */
  7088.  
  7089.  
  7090. #endif     /* C style interface */
  7091.  
  7092.  
  7093.  
  7094. HRESULT STDMETHODCALLTYPE IFileSinkFilter_SetFileName_Proxy( 
  7095.     IFileSinkFilter * This,
  7096.     /* [in] */ LPCOLESTR pszFileName,
  7097.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7098.  
  7099.  
  7100. void __RPC_STUB IFileSinkFilter_SetFileName_Stub(
  7101.     IRpcStubBuffer *This,
  7102.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7103.     PRPC_MESSAGE _pRpcMessage,
  7104.     DWORD *_pdwStubPhase);
  7105.  
  7106.  
  7107. HRESULT STDMETHODCALLTYPE IFileSinkFilter_GetCurFile_Proxy( 
  7108.     IFileSinkFilter * This,
  7109.     /* [out] */ LPOLESTR *ppszFileName,
  7110.     /* [out] */ AM_MEDIA_TYPE *pmt);
  7111.  
  7112.  
  7113. void __RPC_STUB IFileSinkFilter_GetCurFile_Stub(
  7114.     IRpcStubBuffer *This,
  7115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7116.     PRPC_MESSAGE _pRpcMessage,
  7117.     DWORD *_pdwStubPhase);
  7118.  
  7119.  
  7120.  
  7121. #endif     /* __IFileSinkFilter_INTERFACE_DEFINED__ */
  7122.  
  7123.  
  7124. /* interface __MIDL_itf_strmif_0143 */
  7125. /* [local] */ 
  7126.  
  7127. typedef IFileSinkFilter *PFILTERFILESINK;
  7128.  
  7129.  
  7130.  
  7131. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_c_ifspec;
  7132. extern RPC_IF_HANDLE __MIDL_itf_strmif_0143_v0_0_s_ifspec;
  7133.  
  7134. #ifndef __IFileSinkFilter2_INTERFACE_DEFINED__
  7135. #define __IFileSinkFilter2_INTERFACE_DEFINED__
  7136.  
  7137. /* interface IFileSinkFilter2 */
  7138. /* [unique][uuid][object] */ 
  7139.  
  7140.  
  7141. EXTERN_C const IID IID_IFileSinkFilter2;
  7142.  
  7143. #if defined(__cplusplus) && !defined(CINTERFACE)
  7144.     
  7145.     MIDL_INTERFACE("00855B90-CE1B-11d0-BD4F-00A0C911CE86")
  7146.     IFileSinkFilter2 : public IFileSinkFilter
  7147.     {
  7148.     public:
  7149.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  7150.             /* [in] */ DWORD dwFlags) = 0;
  7151.         
  7152.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  7153.             /* [out] */ DWORD *pdwFlags) = 0;
  7154.         
  7155.     };
  7156.     
  7157. #else     /* C style interface */
  7158.  
  7159.     typedef struct IFileSinkFilter2Vtbl
  7160.     {
  7161.         BEGIN_INTERFACE
  7162.         
  7163.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7164.             IFileSinkFilter2 * This,
  7165.             /* [in] */ REFIID riid,
  7166.             /* [iid_is][out] */ void **ppvObject);
  7167.         
  7168.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7169.             IFileSinkFilter2 * This);
  7170.         
  7171.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7172.             IFileSinkFilter2 * This);
  7173.         
  7174.         HRESULT ( STDMETHODCALLTYPE *SetFileName )( 
  7175.             IFileSinkFilter2 * This,
  7176.             /* [in] */ LPCOLESTR pszFileName,
  7177.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7178.         
  7179.         HRESULT ( STDMETHODCALLTYPE *GetCurFile )( 
  7180.             IFileSinkFilter2 * This,
  7181.             /* [out] */ LPOLESTR *ppszFileName,
  7182.             /* [out] */ AM_MEDIA_TYPE *pmt);
  7183.         
  7184.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  7185.             IFileSinkFilter2 * This,
  7186.             /* [in] */ DWORD dwFlags);
  7187.         
  7188.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  7189.             IFileSinkFilter2 * This,
  7190.             /* [out] */ DWORD *pdwFlags);
  7191.         
  7192.         END_INTERFACE
  7193.     } IFileSinkFilter2Vtbl;
  7194.  
  7195.     interface IFileSinkFilter2
  7196.     {
  7197.         CONST_VTBL struct IFileSinkFilter2Vtbl *lpVtbl;
  7198.     };
  7199.  
  7200.     
  7201.  
  7202. #ifdef COBJMACROS
  7203.  
  7204.  
  7205. #define IFileSinkFilter2_QueryInterface(This,riid,ppvObject)    \
  7206.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7207.  
  7208. #define IFileSinkFilter2_AddRef(This)    \
  7209.     (This)->lpVtbl -> AddRef(This)
  7210.  
  7211. #define IFileSinkFilter2_Release(This)    \
  7212.     (This)->lpVtbl -> Release(This)
  7213.  
  7214.  
  7215. #define IFileSinkFilter2_SetFileName(This,pszFileName,pmt)    \
  7216.     (This)->lpVtbl -> SetFileName(This,pszFileName,pmt)
  7217.  
  7218. #define IFileSinkFilter2_GetCurFile(This,ppszFileName,pmt)    \
  7219.     (This)->lpVtbl -> GetCurFile(This,ppszFileName,pmt)
  7220.  
  7221.  
  7222. #define IFileSinkFilter2_SetMode(This,dwFlags)    \
  7223.     (This)->lpVtbl -> SetMode(This,dwFlags)
  7224.  
  7225. #define IFileSinkFilter2_GetMode(This,pdwFlags)    \
  7226.     (This)->lpVtbl -> GetMode(This,pdwFlags)
  7227.  
  7228. #endif /* COBJMACROS */
  7229.  
  7230.  
  7231. #endif     /* C style interface */
  7232.  
  7233.  
  7234.  
  7235. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_SetMode_Proxy( 
  7236.     IFileSinkFilter2 * This,
  7237.     /* [in] */ DWORD dwFlags);
  7238.  
  7239.  
  7240. void __RPC_STUB IFileSinkFilter2_SetMode_Stub(
  7241.     IRpcStubBuffer *This,
  7242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7243.     PRPC_MESSAGE _pRpcMessage,
  7244.     DWORD *_pdwStubPhase);
  7245.  
  7246.  
  7247. HRESULT STDMETHODCALLTYPE IFileSinkFilter2_GetMode_Proxy( 
  7248.     IFileSinkFilter2 * This,
  7249.     /* [out] */ DWORD *pdwFlags);
  7250.  
  7251.  
  7252. void __RPC_STUB IFileSinkFilter2_GetMode_Stub(
  7253.     IRpcStubBuffer *This,
  7254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7255.     PRPC_MESSAGE _pRpcMessage,
  7256.     DWORD *_pdwStubPhase);
  7257.  
  7258.  
  7259.  
  7260. #endif     /* __IFileSinkFilter2_INTERFACE_DEFINED__ */
  7261.  
  7262.  
  7263. /* interface __MIDL_itf_strmif_0144 */
  7264. /* [local] */ 
  7265.  
  7266. typedef IFileSinkFilter2 *PFILESINKFILTER2;
  7267.  
  7268. typedef /* [public] */ 
  7269. enum __MIDL___MIDL_itf_strmif_0144_0001
  7270.     {    AM_FILE_OVERWRITE    = 0x1
  7271.     }     AM_FILESINK_FLAGS;
  7272.  
  7273.  
  7274.  
  7275. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_c_ifspec;
  7276. extern RPC_IF_HANDLE __MIDL_itf_strmif_0144_v0_0_s_ifspec;
  7277.  
  7278. #ifndef __IGraphBuilder_INTERFACE_DEFINED__
  7279. #define __IGraphBuilder_INTERFACE_DEFINED__
  7280.  
  7281. /* interface IGraphBuilder */
  7282. /* [unique][uuid][object] */ 
  7283.  
  7284.  
  7285. EXTERN_C const IID IID_IGraphBuilder;
  7286.  
  7287. #if defined(__cplusplus) && !defined(CINTERFACE)
  7288.     
  7289.     MIDL_INTERFACE("56a868a9-0ad4-11ce-b03a-0020af0ba770")
  7290.     IGraphBuilder : public IFilterGraph
  7291.     {
  7292.     public:
  7293.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  7294.             /* [in] */ IPin *ppinOut,
  7295.             /* [in] */ IPin *ppinIn) = 0;
  7296.         
  7297.         virtual HRESULT STDMETHODCALLTYPE Render( 
  7298.             /* [in] */ IPin *ppinOut) = 0;
  7299.         
  7300.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  7301.             /* [in] */ LPCWSTR lpcwstrFile,
  7302.             /* [unique][in] */ LPCWSTR lpcwstrPlayList) = 0;
  7303.         
  7304.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  7305.             /* [in] */ LPCWSTR lpcwstrFileName,
  7306.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7307.             /* [out] */ IBaseFilter **ppFilter) = 0;
  7308.         
  7309.         virtual HRESULT STDMETHODCALLTYPE SetLogFile( 
  7310.             /* [in] */ DWORD_PTR hFile) = 0;
  7311.         
  7312.         virtual HRESULT STDMETHODCALLTYPE Abort( void) = 0;
  7313.         
  7314.         virtual HRESULT STDMETHODCALLTYPE ShouldOperationContinue( void) = 0;
  7315.         
  7316.     };
  7317.     
  7318. #else     /* C style interface */
  7319.  
  7320.     typedef struct IGraphBuilderVtbl
  7321.     {
  7322.         BEGIN_INTERFACE
  7323.         
  7324.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7325.             IGraphBuilder * This,
  7326.             /* [in] */ REFIID riid,
  7327.             /* [iid_is][out] */ void **ppvObject);
  7328.         
  7329.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7330.             IGraphBuilder * This);
  7331.         
  7332.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7333.             IGraphBuilder * This);
  7334.         
  7335.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  7336.             IGraphBuilder * This,
  7337.             /* [in] */ IBaseFilter *pFilter,
  7338.             /* [string][in] */ LPCWSTR pName);
  7339.         
  7340.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  7341.             IGraphBuilder * This,
  7342.             /* [in] */ IBaseFilter *pFilter);
  7343.         
  7344.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  7345.             IGraphBuilder * This,
  7346.             /* [out] */ IEnumFilters **ppEnum);
  7347.         
  7348.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  7349.             IGraphBuilder * This,
  7350.             /* [string][in] */ LPCWSTR pName,
  7351.             /* [out] */ IBaseFilter **ppFilter);
  7352.         
  7353.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  7354.             IGraphBuilder * This,
  7355.             /* [in] */ IPin *ppinOut,
  7356.             /* [in] */ IPin *ppinIn,
  7357.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  7358.         
  7359.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  7360.             IGraphBuilder * This,
  7361.             /* [in] */ IPin *ppin);
  7362.         
  7363.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  7364.             IGraphBuilder * This,
  7365.             /* [in] */ IPin *ppin);
  7366.         
  7367.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  7368.             IGraphBuilder * This);
  7369.         
  7370.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  7371.             IGraphBuilder * This,
  7372.             /* [in] */ IPin *ppinOut,
  7373.             /* [in] */ IPin *ppinIn);
  7374.         
  7375.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  7376.             IGraphBuilder * This,
  7377.             /* [in] */ IPin *ppinOut);
  7378.         
  7379.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  7380.             IGraphBuilder * This,
  7381.             /* [in] */ LPCWSTR lpcwstrFile,
  7382.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7383.         
  7384.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  7385.             IGraphBuilder * This,
  7386.             /* [in] */ LPCWSTR lpcwstrFileName,
  7387.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7388.             /* [out] */ IBaseFilter **ppFilter);
  7389.         
  7390.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  7391.             IGraphBuilder * This,
  7392.             /* [in] */ DWORD_PTR hFile);
  7393.         
  7394.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  7395.             IGraphBuilder * This);
  7396.         
  7397.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  7398.             IGraphBuilder * This);
  7399.         
  7400.         END_INTERFACE
  7401.     } IGraphBuilderVtbl;
  7402.  
  7403.     interface IGraphBuilder
  7404.     {
  7405.         CONST_VTBL struct IGraphBuilderVtbl *lpVtbl;
  7406.     };
  7407.  
  7408.     
  7409.  
  7410. #ifdef COBJMACROS
  7411.  
  7412.  
  7413. #define IGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7414.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7415.  
  7416. #define IGraphBuilder_AddRef(This)    \
  7417.     (This)->lpVtbl -> AddRef(This)
  7418.  
  7419. #define IGraphBuilder_Release(This)    \
  7420.     (This)->lpVtbl -> Release(This)
  7421.  
  7422.  
  7423. #define IGraphBuilder_AddFilter(This,pFilter,pName)    \
  7424.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  7425.  
  7426. #define IGraphBuilder_RemoveFilter(This,pFilter)    \
  7427.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  7428.  
  7429. #define IGraphBuilder_EnumFilters(This,ppEnum)    \
  7430.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  7431.  
  7432. #define IGraphBuilder_FindFilterByName(This,pName,ppFilter)    \
  7433.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  7434.  
  7435. #define IGraphBuilder_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  7436.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  7437.  
  7438. #define IGraphBuilder_Reconnect(This,ppin)    \
  7439.     (This)->lpVtbl -> Reconnect(This,ppin)
  7440.  
  7441. #define IGraphBuilder_Disconnect(This,ppin)    \
  7442.     (This)->lpVtbl -> Disconnect(This,ppin)
  7443.  
  7444. #define IGraphBuilder_SetDefaultSyncSource(This)    \
  7445.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  7446.  
  7447.  
  7448. #define IGraphBuilder_Connect(This,ppinOut,ppinIn)    \
  7449.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  7450.  
  7451. #define IGraphBuilder_Render(This,ppinOut)    \
  7452.     (This)->lpVtbl -> Render(This,ppinOut)
  7453.  
  7454. #define IGraphBuilder_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  7455.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  7456.  
  7457. #define IGraphBuilder_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  7458.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  7459.  
  7460. #define IGraphBuilder_SetLogFile(This,hFile)    \
  7461.     (This)->lpVtbl -> SetLogFile(This,hFile)
  7462.  
  7463. #define IGraphBuilder_Abort(This)    \
  7464.     (This)->lpVtbl -> Abort(This)
  7465.  
  7466. #define IGraphBuilder_ShouldOperationContinue(This)    \
  7467.     (This)->lpVtbl -> ShouldOperationContinue(This)
  7468.  
  7469. #endif /* COBJMACROS */
  7470.  
  7471.  
  7472. #endif     /* C style interface */
  7473.  
  7474.  
  7475.  
  7476. HRESULT STDMETHODCALLTYPE IGraphBuilder_Connect_Proxy( 
  7477.     IGraphBuilder * This,
  7478.     /* [in] */ IPin *ppinOut,
  7479.     /* [in] */ IPin *ppinIn);
  7480.  
  7481.  
  7482. void __RPC_STUB IGraphBuilder_Connect_Stub(
  7483.     IRpcStubBuffer *This,
  7484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7485.     PRPC_MESSAGE _pRpcMessage,
  7486.     DWORD *_pdwStubPhase);
  7487.  
  7488.  
  7489. HRESULT STDMETHODCALLTYPE IGraphBuilder_Render_Proxy( 
  7490.     IGraphBuilder * This,
  7491.     /* [in] */ IPin *ppinOut);
  7492.  
  7493.  
  7494. void __RPC_STUB IGraphBuilder_Render_Stub(
  7495.     IRpcStubBuffer *This,
  7496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7497.     PRPC_MESSAGE _pRpcMessage,
  7498.     DWORD *_pdwStubPhase);
  7499.  
  7500.  
  7501. HRESULT STDMETHODCALLTYPE IGraphBuilder_RenderFile_Proxy( 
  7502.     IGraphBuilder * This,
  7503.     /* [in] */ LPCWSTR lpcwstrFile,
  7504.     /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  7505.  
  7506.  
  7507. void __RPC_STUB IGraphBuilder_RenderFile_Stub(
  7508.     IRpcStubBuffer *This,
  7509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7510.     PRPC_MESSAGE _pRpcMessage,
  7511.     DWORD *_pdwStubPhase);
  7512.  
  7513.  
  7514. HRESULT STDMETHODCALLTYPE IGraphBuilder_AddSourceFilter_Proxy( 
  7515.     IGraphBuilder * This,
  7516.     /* [in] */ LPCWSTR lpcwstrFileName,
  7517.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  7518.     /* [out] */ IBaseFilter **ppFilter);
  7519.  
  7520.  
  7521. void __RPC_STUB IGraphBuilder_AddSourceFilter_Stub(
  7522.     IRpcStubBuffer *This,
  7523.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7524.     PRPC_MESSAGE _pRpcMessage,
  7525.     DWORD *_pdwStubPhase);
  7526.  
  7527.  
  7528. HRESULT STDMETHODCALLTYPE IGraphBuilder_SetLogFile_Proxy( 
  7529.     IGraphBuilder * This,
  7530.     /* [in] */ DWORD_PTR hFile);
  7531.  
  7532.  
  7533. void __RPC_STUB IGraphBuilder_SetLogFile_Stub(
  7534.     IRpcStubBuffer *This,
  7535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7536.     PRPC_MESSAGE _pRpcMessage,
  7537.     DWORD *_pdwStubPhase);
  7538.  
  7539.  
  7540. HRESULT STDMETHODCALLTYPE IGraphBuilder_Abort_Proxy( 
  7541.     IGraphBuilder * This);
  7542.  
  7543.  
  7544. void __RPC_STUB IGraphBuilder_Abort_Stub(
  7545.     IRpcStubBuffer *This,
  7546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7547.     PRPC_MESSAGE _pRpcMessage,
  7548.     DWORD *_pdwStubPhase);
  7549.  
  7550.  
  7551. HRESULT STDMETHODCALLTYPE IGraphBuilder_ShouldOperationContinue_Proxy( 
  7552.     IGraphBuilder * This);
  7553.  
  7554.  
  7555. void __RPC_STUB IGraphBuilder_ShouldOperationContinue_Stub(
  7556.     IRpcStubBuffer *This,
  7557.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7558.     PRPC_MESSAGE _pRpcMessage,
  7559.     DWORD *_pdwStubPhase);
  7560.  
  7561.  
  7562.  
  7563. #endif     /* __IGraphBuilder_INTERFACE_DEFINED__ */
  7564.  
  7565.  
  7566. #ifndef __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7567. #define __ICaptureGraphBuilder_INTERFACE_DEFINED__
  7568.  
  7569. /* interface ICaptureGraphBuilder */
  7570. /* [unique][uuid][object] */ 
  7571.  
  7572.  
  7573. EXTERN_C const IID IID_ICaptureGraphBuilder;
  7574.  
  7575. #if defined(__cplusplus) && !defined(CINTERFACE)
  7576.     
  7577.     MIDL_INTERFACE("bf87b6e0-8c27-11d0-b3f0-00aa003761c5")
  7578.     ICaptureGraphBuilder : public IUnknown
  7579.     {
  7580.     public:
  7581.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7582.             /* [in] */ IGraphBuilder *pfg) = 0;
  7583.         
  7584.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7585.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7586.         
  7587.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7588.             /* [in] */ const GUID *pType,
  7589.             /* [in] */ LPCOLESTR lpstrFile,
  7590.             /* [out] */ IBaseFilter **ppf,
  7591.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7592.         
  7593.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7594.             /* [unique][in] */ const GUID *pCategory,
  7595.             /* [in] */ IBaseFilter *pf,
  7596.             /* [in] */ REFIID riid,
  7597.             /* [out] */ void **ppint) = 0;
  7598.         
  7599.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7600.             /* [in] */ const GUID *pCategory,
  7601.             /* [in] */ IUnknown *pSource,
  7602.             /* [in] */ IBaseFilter *pfCompressor,
  7603.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7604.         
  7605.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7606.             /* [in] */ const GUID *pCategory,
  7607.             /* [in] */ IBaseFilter *pFilter,
  7608.             /* [in] */ REFERENCE_TIME *pstart,
  7609.             /* [in] */ REFERENCE_TIME *pstop,
  7610.             /* [in] */ WORD wStartCookie,
  7611.             /* [in] */ WORD wStopCookie) = 0;
  7612.         
  7613.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  7614.             /* [in] */ LPCOLESTR lpstr,
  7615.             /* [in] */ DWORDLONG dwlSize) = 0;
  7616.         
  7617.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  7618.             /* [in] */ LPOLESTR lpwstrOld,
  7619.             /* [in] */ LPOLESTR lpwstrNew,
  7620.             /* [in] */ int fAllowEscAbort,
  7621.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  7622.         
  7623.     };
  7624.     
  7625. #else     /* C style interface */
  7626.  
  7627.     typedef struct ICaptureGraphBuilderVtbl
  7628.     {
  7629.         BEGIN_INTERFACE
  7630.         
  7631.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7632.             ICaptureGraphBuilder * This,
  7633.             /* [in] */ REFIID riid,
  7634.             /* [iid_is][out] */ void **ppvObject);
  7635.         
  7636.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7637.             ICaptureGraphBuilder * This);
  7638.         
  7639.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7640.             ICaptureGraphBuilder * This);
  7641.         
  7642.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  7643.             ICaptureGraphBuilder * This,
  7644.             /* [in] */ IGraphBuilder *pfg);
  7645.         
  7646.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  7647.             ICaptureGraphBuilder * This,
  7648.             /* [out] */ IGraphBuilder **ppfg);
  7649.         
  7650.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  7651.             ICaptureGraphBuilder * This,
  7652.             /* [in] */ const GUID *pType,
  7653.             /* [in] */ LPCOLESTR lpstrFile,
  7654.             /* [out] */ IBaseFilter **ppf,
  7655.             /* [out] */ IFileSinkFilter **ppSink);
  7656.         
  7657.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  7658.             ICaptureGraphBuilder * This,
  7659.             /* [unique][in] */ const GUID *pCategory,
  7660.             /* [in] */ IBaseFilter *pf,
  7661.             /* [in] */ REFIID riid,
  7662.             /* [out] */ void **ppint);
  7663.         
  7664.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  7665.             ICaptureGraphBuilder * This,
  7666.             /* [in] */ const GUID *pCategory,
  7667.             /* [in] */ IUnknown *pSource,
  7668.             /* [in] */ IBaseFilter *pfCompressor,
  7669.             /* [in] */ IBaseFilter *pfRenderer);
  7670.         
  7671.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  7672.             ICaptureGraphBuilder * This,
  7673.             /* [in] */ const GUID *pCategory,
  7674.             /* [in] */ IBaseFilter *pFilter,
  7675.             /* [in] */ REFERENCE_TIME *pstart,
  7676.             /* [in] */ REFERENCE_TIME *pstop,
  7677.             /* [in] */ WORD wStartCookie,
  7678.             /* [in] */ WORD wStopCookie);
  7679.         
  7680.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  7681.             ICaptureGraphBuilder * This,
  7682.             /* [in] */ LPCOLESTR lpstr,
  7683.             /* [in] */ DWORDLONG dwlSize);
  7684.         
  7685.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  7686.             ICaptureGraphBuilder * This,
  7687.             /* [in] */ LPOLESTR lpwstrOld,
  7688.             /* [in] */ LPOLESTR lpwstrNew,
  7689.             /* [in] */ int fAllowEscAbort,
  7690.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7691.         
  7692.         END_INTERFACE
  7693.     } ICaptureGraphBuilderVtbl;
  7694.  
  7695.     interface ICaptureGraphBuilder
  7696.     {
  7697.         CONST_VTBL struct ICaptureGraphBuilderVtbl *lpVtbl;
  7698.     };
  7699.  
  7700.     
  7701.  
  7702. #ifdef COBJMACROS
  7703.  
  7704.  
  7705. #define ICaptureGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  7706.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7707.  
  7708. #define ICaptureGraphBuilder_AddRef(This)    \
  7709.     (This)->lpVtbl -> AddRef(This)
  7710.  
  7711. #define ICaptureGraphBuilder_Release(This)    \
  7712.     (This)->lpVtbl -> Release(This)
  7713.  
  7714.  
  7715. #define ICaptureGraphBuilder_SetFiltergraph(This,pfg)    \
  7716.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  7717.  
  7718. #define ICaptureGraphBuilder_GetFiltergraph(This,ppfg)    \
  7719.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  7720.  
  7721. #define ICaptureGraphBuilder_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  7722.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  7723.  
  7724. #define ICaptureGraphBuilder_FindInterface(This,pCategory,pf,riid,ppint)    \
  7725.     (This)->lpVtbl -> FindInterface(This,pCategory,pf,riid,ppint)
  7726.  
  7727. #define ICaptureGraphBuilder_RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)    \
  7728.     (This)->lpVtbl -> RenderStream(This,pCategory,pSource,pfCompressor,pfRenderer)
  7729.  
  7730. #define ICaptureGraphBuilder_ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  7731.     (This)->lpVtbl -> ControlStream(This,pCategory,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  7732.  
  7733. #define ICaptureGraphBuilder_AllocCapFile(This,lpstr,dwlSize)    \
  7734.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  7735.  
  7736. #define ICaptureGraphBuilder_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  7737.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  7738.  
  7739. #endif /* COBJMACROS */
  7740.  
  7741.  
  7742. #endif     /* C style interface */
  7743.  
  7744.  
  7745.  
  7746. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetFiltergraph_Proxy( 
  7747.     ICaptureGraphBuilder * This,
  7748.     /* [in] */ IGraphBuilder *pfg);
  7749.  
  7750.  
  7751. void __RPC_STUB ICaptureGraphBuilder_SetFiltergraph_Stub(
  7752.     IRpcStubBuffer *This,
  7753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7754.     PRPC_MESSAGE _pRpcMessage,
  7755.     DWORD *_pdwStubPhase);
  7756.  
  7757.  
  7758. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_GetFiltergraph_Proxy( 
  7759.     ICaptureGraphBuilder * This,
  7760.     /* [out] */ IGraphBuilder **ppfg);
  7761.  
  7762.  
  7763. void __RPC_STUB ICaptureGraphBuilder_GetFiltergraph_Stub(
  7764.     IRpcStubBuffer *This,
  7765.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7766.     PRPC_MESSAGE _pRpcMessage,
  7767.     DWORD *_pdwStubPhase);
  7768.  
  7769.  
  7770. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_SetOutputFileName_Proxy( 
  7771.     ICaptureGraphBuilder * This,
  7772.     /* [in] */ const GUID *pType,
  7773.     /* [in] */ LPCOLESTR lpstrFile,
  7774.     /* [out] */ IBaseFilter **ppf,
  7775.     /* [out] */ IFileSinkFilter **ppSink);
  7776.  
  7777.  
  7778. void __RPC_STUB ICaptureGraphBuilder_SetOutputFileName_Stub(
  7779.     IRpcStubBuffer *This,
  7780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7781.     PRPC_MESSAGE _pRpcMessage,
  7782.     DWORD *_pdwStubPhase);
  7783.  
  7784.  
  7785. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RemoteFindInterface_Proxy( 
  7786.     ICaptureGraphBuilder * This,
  7787.     /* [unique][in] */ const GUID *pCategory,
  7788.     /* [in] */ IBaseFilter *pf,
  7789.     /* [in] */ REFIID riid,
  7790.     /* [out] */ IUnknown **ppint);
  7791.  
  7792.  
  7793. void __RPC_STUB ICaptureGraphBuilder_RemoteFindInterface_Stub(
  7794.     IRpcStubBuffer *This,
  7795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7796.     PRPC_MESSAGE _pRpcMessage,
  7797.     DWORD *_pdwStubPhase);
  7798.  
  7799.  
  7800. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_RenderStream_Proxy( 
  7801.     ICaptureGraphBuilder * This,
  7802.     /* [in] */ const GUID *pCategory,
  7803.     /* [in] */ IUnknown *pSource,
  7804.     /* [in] */ IBaseFilter *pfCompressor,
  7805.     /* [in] */ IBaseFilter *pfRenderer);
  7806.  
  7807.  
  7808. void __RPC_STUB ICaptureGraphBuilder_RenderStream_Stub(
  7809.     IRpcStubBuffer *This,
  7810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7811.     PRPC_MESSAGE _pRpcMessage,
  7812.     DWORD *_pdwStubPhase);
  7813.  
  7814.  
  7815. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_ControlStream_Proxy( 
  7816.     ICaptureGraphBuilder * This,
  7817.     /* [in] */ const GUID *pCategory,
  7818.     /* [in] */ IBaseFilter *pFilter,
  7819.     /* [in] */ REFERENCE_TIME *pstart,
  7820.     /* [in] */ REFERENCE_TIME *pstop,
  7821.     /* [in] */ WORD wStartCookie,
  7822.     /* [in] */ WORD wStopCookie);
  7823.  
  7824.  
  7825. void __RPC_STUB ICaptureGraphBuilder_ControlStream_Stub(
  7826.     IRpcStubBuffer *This,
  7827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7828.     PRPC_MESSAGE _pRpcMessage,
  7829.     DWORD *_pdwStubPhase);
  7830.  
  7831.  
  7832. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_AllocCapFile_Proxy( 
  7833.     ICaptureGraphBuilder * This,
  7834.     /* [in] */ LPCOLESTR lpstr,
  7835.     /* [in] */ DWORDLONG dwlSize);
  7836.  
  7837.  
  7838. void __RPC_STUB ICaptureGraphBuilder_AllocCapFile_Stub(
  7839.     IRpcStubBuffer *This,
  7840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7841.     PRPC_MESSAGE _pRpcMessage,
  7842.     DWORD *_pdwStubPhase);
  7843.  
  7844.  
  7845. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_CopyCaptureFile_Proxy( 
  7846.     ICaptureGraphBuilder * This,
  7847.     /* [in] */ LPOLESTR lpwstrOld,
  7848.     /* [in] */ LPOLESTR lpwstrNew,
  7849.     /* [in] */ int fAllowEscAbort,
  7850.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  7851.  
  7852.  
  7853. void __RPC_STUB ICaptureGraphBuilder_CopyCaptureFile_Stub(
  7854.     IRpcStubBuffer *This,
  7855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7856.     PRPC_MESSAGE _pRpcMessage,
  7857.     DWORD *_pdwStubPhase);
  7858.  
  7859.  
  7860.  
  7861. #endif     /* __ICaptureGraphBuilder_INTERFACE_DEFINED__ */
  7862.  
  7863.  
  7864. #ifndef __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7865. #define __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__
  7866.  
  7867. /* interface IAMCopyCaptureFileProgress */
  7868. /* [unique][uuid][object] */ 
  7869.  
  7870.  
  7871. EXTERN_C const IID IID_IAMCopyCaptureFileProgress;
  7872.  
  7873. #if defined(__cplusplus) && !defined(CINTERFACE)
  7874.     
  7875.     MIDL_INTERFACE("670d1d20-a068-11d0-b3f0-00aa003761c5")
  7876.     IAMCopyCaptureFileProgress : public IUnknown
  7877.     {
  7878.     public:
  7879.         virtual HRESULT STDMETHODCALLTYPE Progress( 
  7880.             /* [in] */ int iProgress) = 0;
  7881.         
  7882.     };
  7883.     
  7884. #else     /* C style interface */
  7885.  
  7886.     typedef struct IAMCopyCaptureFileProgressVtbl
  7887.     {
  7888.         BEGIN_INTERFACE
  7889.         
  7890.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  7891.             IAMCopyCaptureFileProgress * This,
  7892.             /* [in] */ REFIID riid,
  7893.             /* [iid_is][out] */ void **ppvObject);
  7894.         
  7895.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  7896.             IAMCopyCaptureFileProgress * This);
  7897.         
  7898.         ULONG ( STDMETHODCALLTYPE *Release )( 
  7899.             IAMCopyCaptureFileProgress * This);
  7900.         
  7901.         HRESULT ( STDMETHODCALLTYPE *Progress )( 
  7902.             IAMCopyCaptureFileProgress * This,
  7903.             /* [in] */ int iProgress);
  7904.         
  7905.         END_INTERFACE
  7906.     } IAMCopyCaptureFileProgressVtbl;
  7907.  
  7908.     interface IAMCopyCaptureFileProgress
  7909.     {
  7910.         CONST_VTBL struct IAMCopyCaptureFileProgressVtbl *lpVtbl;
  7911.     };
  7912.  
  7913.     
  7914.  
  7915. #ifdef COBJMACROS
  7916.  
  7917.  
  7918. #define IAMCopyCaptureFileProgress_QueryInterface(This,riid,ppvObject)    \
  7919.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7920.  
  7921. #define IAMCopyCaptureFileProgress_AddRef(This)    \
  7922.     (This)->lpVtbl -> AddRef(This)
  7923.  
  7924. #define IAMCopyCaptureFileProgress_Release(This)    \
  7925.     (This)->lpVtbl -> Release(This)
  7926.  
  7927.  
  7928. #define IAMCopyCaptureFileProgress_Progress(This,iProgress)    \
  7929.     (This)->lpVtbl -> Progress(This,iProgress)
  7930.  
  7931. #endif /* COBJMACROS */
  7932.  
  7933.  
  7934. #endif     /* C style interface */
  7935.  
  7936.  
  7937.  
  7938. HRESULT STDMETHODCALLTYPE IAMCopyCaptureFileProgress_Progress_Proxy( 
  7939.     IAMCopyCaptureFileProgress * This,
  7940.     /* [in] */ int iProgress);
  7941.  
  7942.  
  7943. void __RPC_STUB IAMCopyCaptureFileProgress_Progress_Stub(
  7944.     IRpcStubBuffer *This,
  7945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7946.     PRPC_MESSAGE _pRpcMessage,
  7947.     DWORD *_pdwStubPhase);
  7948.  
  7949.  
  7950.  
  7951. #endif     /* __IAMCopyCaptureFileProgress_INTERFACE_DEFINED__ */
  7952.  
  7953.  
  7954. #ifndef __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7955. #define __ICaptureGraphBuilder2_INTERFACE_DEFINED__
  7956.  
  7957. /* interface ICaptureGraphBuilder2 */
  7958. /* [unique][uuid][object] */ 
  7959.  
  7960.  
  7961. EXTERN_C const IID IID_ICaptureGraphBuilder2;
  7962.  
  7963. #if defined(__cplusplus) && !defined(CINTERFACE)
  7964.     
  7965.     MIDL_INTERFACE("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D")
  7966.     ICaptureGraphBuilder2 : public IUnknown
  7967.     {
  7968.     public:
  7969.         virtual HRESULT STDMETHODCALLTYPE SetFiltergraph( 
  7970.             /* [in] */ IGraphBuilder *pfg) = 0;
  7971.         
  7972.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  7973.             /* [out] */ IGraphBuilder **ppfg) = 0;
  7974.         
  7975.         virtual HRESULT STDMETHODCALLTYPE SetOutputFileName( 
  7976.             /* [in] */ const GUID *pType,
  7977.             /* [in] */ LPCOLESTR lpstrFile,
  7978.             /* [out] */ IBaseFilter **ppf,
  7979.             /* [out] */ IFileSinkFilter **ppSink) = 0;
  7980.         
  7981.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FindInterface( 
  7982.             /* [in] */ const GUID *pCategory,
  7983.             /* [in] */ const GUID *pType,
  7984.             /* [in] */ IBaseFilter *pf,
  7985.             /* [in] */ REFIID riid,
  7986.             /* [out] */ void **ppint) = 0;
  7987.         
  7988.         virtual HRESULT STDMETHODCALLTYPE RenderStream( 
  7989.             /* [in] */ const GUID *pCategory,
  7990.             /* [in] */ const GUID *pType,
  7991.             /* [in] */ IUnknown *pSource,
  7992.             /* [in] */ IBaseFilter *pfCompressor,
  7993.             /* [in] */ IBaseFilter *pfRenderer) = 0;
  7994.         
  7995.         virtual HRESULT STDMETHODCALLTYPE ControlStream( 
  7996.             /* [in] */ const GUID *pCategory,
  7997.             /* [in] */ const GUID *pType,
  7998.             /* [in] */ IBaseFilter *pFilter,
  7999.             /* [in] */ REFERENCE_TIME *pstart,
  8000.             /* [in] */ REFERENCE_TIME *pstop,
  8001.             /* [in] */ WORD wStartCookie,
  8002.             /* [in] */ WORD wStopCookie) = 0;
  8003.         
  8004.         virtual HRESULT STDMETHODCALLTYPE AllocCapFile( 
  8005.             /* [in] */ LPCOLESTR lpstr,
  8006.             /* [in] */ DWORDLONG dwlSize) = 0;
  8007.         
  8008.         virtual HRESULT STDMETHODCALLTYPE CopyCaptureFile( 
  8009.             /* [in] */ LPOLESTR lpwstrOld,
  8010.             /* [in] */ LPOLESTR lpwstrNew,
  8011.             /* [in] */ int fAllowEscAbort,
  8012.             /* [in] */ IAMCopyCaptureFileProgress *pCallback) = 0;
  8013.         
  8014.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  8015.             /* [in] */ IUnknown *pSource,
  8016.             /* [in] */ PIN_DIRECTION pindir,
  8017.             /* [in] */ const GUID *pCategory,
  8018.             /* [in] */ const GUID *pType,
  8019.             /* [in] */ BOOL fUnconnected,
  8020.             /* [in] */ int num,
  8021.             /* [out] */ IPin **ppPin) = 0;
  8022.         
  8023.     };
  8024.     
  8025. #else     /* C style interface */
  8026.  
  8027.     typedef struct ICaptureGraphBuilder2Vtbl
  8028.     {
  8029.         BEGIN_INTERFACE
  8030.         
  8031.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8032.             ICaptureGraphBuilder2 * This,
  8033.             /* [in] */ REFIID riid,
  8034.             /* [iid_is][out] */ void **ppvObject);
  8035.         
  8036.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8037.             ICaptureGraphBuilder2 * This);
  8038.         
  8039.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8040.             ICaptureGraphBuilder2 * This);
  8041.         
  8042.         HRESULT ( STDMETHODCALLTYPE *SetFiltergraph )( 
  8043.             ICaptureGraphBuilder2 * This,
  8044.             /* [in] */ IGraphBuilder *pfg);
  8045.         
  8046.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  8047.             ICaptureGraphBuilder2 * This,
  8048.             /* [out] */ IGraphBuilder **ppfg);
  8049.         
  8050.         HRESULT ( STDMETHODCALLTYPE *SetOutputFileName )( 
  8051.             ICaptureGraphBuilder2 * This,
  8052.             /* [in] */ const GUID *pType,
  8053.             /* [in] */ LPCOLESTR lpstrFile,
  8054.             /* [out] */ IBaseFilter **ppf,
  8055.             /* [out] */ IFileSinkFilter **ppSink);
  8056.         
  8057.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *FindInterface )( 
  8058.             ICaptureGraphBuilder2 * This,
  8059.             /* [in] */ const GUID *pCategory,
  8060.             /* [in] */ const GUID *pType,
  8061.             /* [in] */ IBaseFilter *pf,
  8062.             /* [in] */ REFIID riid,
  8063.             /* [out] */ void **ppint);
  8064.         
  8065.         HRESULT ( STDMETHODCALLTYPE *RenderStream )( 
  8066.             ICaptureGraphBuilder2 * This,
  8067.             /* [in] */ const GUID *pCategory,
  8068.             /* [in] */ const GUID *pType,
  8069.             /* [in] */ IUnknown *pSource,
  8070.             /* [in] */ IBaseFilter *pfCompressor,
  8071.             /* [in] */ IBaseFilter *pfRenderer);
  8072.         
  8073.         HRESULT ( STDMETHODCALLTYPE *ControlStream )( 
  8074.             ICaptureGraphBuilder2 * This,
  8075.             /* [in] */ const GUID *pCategory,
  8076.             /* [in] */ const GUID *pType,
  8077.             /* [in] */ IBaseFilter *pFilter,
  8078.             /* [in] */ REFERENCE_TIME *pstart,
  8079.             /* [in] */ REFERENCE_TIME *pstop,
  8080.             /* [in] */ WORD wStartCookie,
  8081.             /* [in] */ WORD wStopCookie);
  8082.         
  8083.         HRESULT ( STDMETHODCALLTYPE *AllocCapFile )( 
  8084.             ICaptureGraphBuilder2 * This,
  8085.             /* [in] */ LPCOLESTR lpstr,
  8086.             /* [in] */ DWORDLONG dwlSize);
  8087.         
  8088.         HRESULT ( STDMETHODCALLTYPE *CopyCaptureFile )( 
  8089.             ICaptureGraphBuilder2 * This,
  8090.             /* [in] */ LPOLESTR lpwstrOld,
  8091.             /* [in] */ LPOLESTR lpwstrNew,
  8092.             /* [in] */ int fAllowEscAbort,
  8093.             /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8094.         
  8095.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  8096.             ICaptureGraphBuilder2 * This,
  8097.             /* [in] */ IUnknown *pSource,
  8098.             /* [in] */ PIN_DIRECTION pindir,
  8099.             /* [in] */ const GUID *pCategory,
  8100.             /* [in] */ const GUID *pType,
  8101.             /* [in] */ BOOL fUnconnected,
  8102.             /* [in] */ int num,
  8103.             /* [out] */ IPin **ppPin);
  8104.         
  8105.         END_INTERFACE
  8106.     } ICaptureGraphBuilder2Vtbl;
  8107.  
  8108.     interface ICaptureGraphBuilder2
  8109.     {
  8110.         CONST_VTBL struct ICaptureGraphBuilder2Vtbl *lpVtbl;
  8111.     };
  8112.  
  8113.     
  8114.  
  8115. #ifdef COBJMACROS
  8116.  
  8117.  
  8118. #define ICaptureGraphBuilder2_QueryInterface(This,riid,ppvObject)    \
  8119.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8120.  
  8121. #define ICaptureGraphBuilder2_AddRef(This)    \
  8122.     (This)->lpVtbl -> AddRef(This)
  8123.  
  8124. #define ICaptureGraphBuilder2_Release(This)    \
  8125.     (This)->lpVtbl -> Release(This)
  8126.  
  8127.  
  8128. #define ICaptureGraphBuilder2_SetFiltergraph(This,pfg)    \
  8129.     (This)->lpVtbl -> SetFiltergraph(This,pfg)
  8130.  
  8131. #define ICaptureGraphBuilder2_GetFiltergraph(This,ppfg)    \
  8132.     (This)->lpVtbl -> GetFiltergraph(This,ppfg)
  8133.  
  8134. #define ICaptureGraphBuilder2_SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)    \
  8135.     (This)->lpVtbl -> SetOutputFileName(This,pType,lpstrFile,ppf,ppSink)
  8136.  
  8137. #define ICaptureGraphBuilder2_FindInterface(This,pCategory,pType,pf,riid,ppint)    \
  8138.     (This)->lpVtbl -> FindInterface(This,pCategory,pType,pf,riid,ppint)
  8139.  
  8140. #define ICaptureGraphBuilder2_RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)    \
  8141.     (This)->lpVtbl -> RenderStream(This,pCategory,pType,pSource,pfCompressor,pfRenderer)
  8142.  
  8143. #define ICaptureGraphBuilder2_ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)    \
  8144.     (This)->lpVtbl -> ControlStream(This,pCategory,pType,pFilter,pstart,pstop,wStartCookie,wStopCookie)
  8145.  
  8146. #define ICaptureGraphBuilder2_AllocCapFile(This,lpstr,dwlSize)    \
  8147.     (This)->lpVtbl -> AllocCapFile(This,lpstr,dwlSize)
  8148.  
  8149. #define ICaptureGraphBuilder2_CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)    \
  8150.     (This)->lpVtbl -> CopyCaptureFile(This,lpwstrOld,lpwstrNew,fAllowEscAbort,pCallback)
  8151.  
  8152. #define ICaptureGraphBuilder2_FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)    \
  8153.     (This)->lpVtbl -> FindPin(This,pSource,pindir,pCategory,pType,fUnconnected,num,ppPin)
  8154.  
  8155. #endif /* COBJMACROS */
  8156.  
  8157.  
  8158. #endif     /* C style interface */
  8159.  
  8160.  
  8161.  
  8162. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetFiltergraph_Proxy( 
  8163.     ICaptureGraphBuilder2 * This,
  8164.     /* [in] */ IGraphBuilder *pfg);
  8165.  
  8166.  
  8167. void __RPC_STUB ICaptureGraphBuilder2_SetFiltergraph_Stub(
  8168.     IRpcStubBuffer *This,
  8169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8170.     PRPC_MESSAGE _pRpcMessage,
  8171.     DWORD *_pdwStubPhase);
  8172.  
  8173.  
  8174. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_GetFiltergraph_Proxy( 
  8175.     ICaptureGraphBuilder2 * This,
  8176.     /* [out] */ IGraphBuilder **ppfg);
  8177.  
  8178.  
  8179. void __RPC_STUB ICaptureGraphBuilder2_GetFiltergraph_Stub(
  8180.     IRpcStubBuffer *This,
  8181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8182.     PRPC_MESSAGE _pRpcMessage,
  8183.     DWORD *_pdwStubPhase);
  8184.  
  8185.  
  8186. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_SetOutputFileName_Proxy( 
  8187.     ICaptureGraphBuilder2 * This,
  8188.     /* [in] */ const GUID *pType,
  8189.     /* [in] */ LPCOLESTR lpstrFile,
  8190.     /* [out] */ IBaseFilter **ppf,
  8191.     /* [out] */ IFileSinkFilter **ppSink);
  8192.  
  8193.  
  8194. void __RPC_STUB ICaptureGraphBuilder2_SetOutputFileName_Stub(
  8195.     IRpcStubBuffer *This,
  8196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8197.     PRPC_MESSAGE _pRpcMessage,
  8198.     DWORD *_pdwStubPhase);
  8199.  
  8200.  
  8201. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RemoteFindInterface_Proxy( 
  8202.     ICaptureGraphBuilder2 * This,
  8203.     /* [in] */ const GUID *pCategory,
  8204.     /* [in] */ const GUID *pType,
  8205.     /* [in] */ IBaseFilter *pf,
  8206.     /* [in] */ REFIID riid,
  8207.     /* [out] */ IUnknown **ppint);
  8208.  
  8209.  
  8210. void __RPC_STUB ICaptureGraphBuilder2_RemoteFindInterface_Stub(
  8211.     IRpcStubBuffer *This,
  8212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8213.     PRPC_MESSAGE _pRpcMessage,
  8214.     DWORD *_pdwStubPhase);
  8215.  
  8216.  
  8217. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_RenderStream_Proxy( 
  8218.     ICaptureGraphBuilder2 * This,
  8219.     /* [in] */ const GUID *pCategory,
  8220.     /* [in] */ const GUID *pType,
  8221.     /* [in] */ IUnknown *pSource,
  8222.     /* [in] */ IBaseFilter *pfCompressor,
  8223.     /* [in] */ IBaseFilter *pfRenderer);
  8224.  
  8225.  
  8226. void __RPC_STUB ICaptureGraphBuilder2_RenderStream_Stub(
  8227.     IRpcStubBuffer *This,
  8228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8229.     PRPC_MESSAGE _pRpcMessage,
  8230.     DWORD *_pdwStubPhase);
  8231.  
  8232.  
  8233. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_ControlStream_Proxy( 
  8234.     ICaptureGraphBuilder2 * This,
  8235.     /* [in] */ const GUID *pCategory,
  8236.     /* [in] */ const GUID *pType,
  8237.     /* [in] */ IBaseFilter *pFilter,
  8238.     /* [in] */ REFERENCE_TIME *pstart,
  8239.     /* [in] */ REFERENCE_TIME *pstop,
  8240.     /* [in] */ WORD wStartCookie,
  8241.     /* [in] */ WORD wStopCookie);
  8242.  
  8243.  
  8244. void __RPC_STUB ICaptureGraphBuilder2_ControlStream_Stub(
  8245.     IRpcStubBuffer *This,
  8246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8247.     PRPC_MESSAGE _pRpcMessage,
  8248.     DWORD *_pdwStubPhase);
  8249.  
  8250.  
  8251. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_AllocCapFile_Proxy( 
  8252.     ICaptureGraphBuilder2 * This,
  8253.     /* [in] */ LPCOLESTR lpstr,
  8254.     /* [in] */ DWORDLONG dwlSize);
  8255.  
  8256.  
  8257. void __RPC_STUB ICaptureGraphBuilder2_AllocCapFile_Stub(
  8258.     IRpcStubBuffer *This,
  8259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8260.     PRPC_MESSAGE _pRpcMessage,
  8261.     DWORD *_pdwStubPhase);
  8262.  
  8263.  
  8264. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_CopyCaptureFile_Proxy( 
  8265.     ICaptureGraphBuilder2 * This,
  8266.     /* [in] */ LPOLESTR lpwstrOld,
  8267.     /* [in] */ LPOLESTR lpwstrNew,
  8268.     /* [in] */ int fAllowEscAbort,
  8269.     /* [in] */ IAMCopyCaptureFileProgress *pCallback);
  8270.  
  8271.  
  8272. void __RPC_STUB ICaptureGraphBuilder2_CopyCaptureFile_Stub(
  8273.     IRpcStubBuffer *This,
  8274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8275.     PRPC_MESSAGE _pRpcMessage,
  8276.     DWORD *_pdwStubPhase);
  8277.  
  8278.  
  8279. HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindPin_Proxy( 
  8280.     ICaptureGraphBuilder2 * This,
  8281.     /* [in] */ IUnknown *pSource,
  8282.     /* [in] */ PIN_DIRECTION pindir,
  8283.     /* [in] */ const GUID *pCategory,
  8284.     /* [in] */ const GUID *pType,
  8285.     /* [in] */ BOOL fUnconnected,
  8286.     /* [in] */ int num,
  8287.     /* [out] */ IPin **ppPin);
  8288.  
  8289.  
  8290. void __RPC_STUB ICaptureGraphBuilder2_FindPin_Stub(
  8291.     IRpcStubBuffer *This,
  8292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8293.     PRPC_MESSAGE _pRpcMessage,
  8294.     DWORD *_pdwStubPhase);
  8295.  
  8296.  
  8297.  
  8298. #endif     /* __ICaptureGraphBuilder2_INTERFACE_DEFINED__ */
  8299.  
  8300.  
  8301. /* interface __MIDL_itf_strmif_0148 */
  8302. /* [local] */ 
  8303.  
  8304.  
  8305. enum _AM_RENSDEREXFLAGS
  8306.     {    AM_RENDEREX_RENDERTOEXISTINGRENDERERS    = 0x1
  8307.     } ;
  8308.  
  8309.  
  8310. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_c_ifspec;
  8311. extern RPC_IF_HANDLE __MIDL_itf_strmif_0148_v0_0_s_ifspec;
  8312.  
  8313. #ifndef __IFilterGraph2_INTERFACE_DEFINED__
  8314. #define __IFilterGraph2_INTERFACE_DEFINED__
  8315.  
  8316. /* interface IFilterGraph2 */
  8317. /* [unique][uuid][object] */ 
  8318.  
  8319.  
  8320. EXTERN_C const IID IID_IFilterGraph2;
  8321.  
  8322. #if defined(__cplusplus) && !defined(CINTERFACE)
  8323.     
  8324.     MIDL_INTERFACE("36b73882-c2c8-11cf-8b46-00805f6cef60")
  8325.     IFilterGraph2 : public IGraphBuilder
  8326.     {
  8327.     public:
  8328.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilterForMoniker( 
  8329.             /* [in] */ IMoniker *pMoniker,
  8330.             /* [in] */ IBindCtx *pCtx,
  8331.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8332.             /* [out] */ IBaseFilter **ppFilter) = 0;
  8333.         
  8334.         virtual HRESULT STDMETHODCALLTYPE ReconnectEx( 
  8335.             /* [in] */ IPin *ppin,
  8336.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt) = 0;
  8337.         
  8338.         virtual HRESULT STDMETHODCALLTYPE RenderEx( 
  8339.             /* [in] */ IPin *pPinOut,
  8340.             /* [in] */ DWORD dwFlags,
  8341.             /* [out][in] */ DWORD *pvContext) = 0;
  8342.         
  8343.     };
  8344.     
  8345. #else     /* C style interface */
  8346.  
  8347.     typedef struct IFilterGraph2Vtbl
  8348.     {
  8349.         BEGIN_INTERFACE
  8350.         
  8351.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8352.             IFilterGraph2 * This,
  8353.             /* [in] */ REFIID riid,
  8354.             /* [iid_is][out] */ void **ppvObject);
  8355.         
  8356.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8357.             IFilterGraph2 * This);
  8358.         
  8359.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8360.             IFilterGraph2 * This);
  8361.         
  8362.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  8363.             IFilterGraph2 * This,
  8364.             /* [in] */ IBaseFilter *pFilter,
  8365.             /* [string][in] */ LPCWSTR pName);
  8366.         
  8367.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  8368.             IFilterGraph2 * This,
  8369.             /* [in] */ IBaseFilter *pFilter);
  8370.         
  8371.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  8372.             IFilterGraph2 * This,
  8373.             /* [out] */ IEnumFilters **ppEnum);
  8374.         
  8375.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  8376.             IFilterGraph2 * This,
  8377.             /* [string][in] */ LPCWSTR pName,
  8378.             /* [out] */ IBaseFilter **ppFilter);
  8379.         
  8380.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  8381.             IFilterGraph2 * This,
  8382.             /* [in] */ IPin *ppinOut,
  8383.             /* [in] */ IPin *ppinIn,
  8384.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8385.         
  8386.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  8387.             IFilterGraph2 * This,
  8388.             /* [in] */ IPin *ppin);
  8389.         
  8390.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  8391.             IFilterGraph2 * This,
  8392.             /* [in] */ IPin *ppin);
  8393.         
  8394.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  8395.             IFilterGraph2 * This);
  8396.         
  8397.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  8398.             IFilterGraph2 * This,
  8399.             /* [in] */ IPin *ppinOut,
  8400.             /* [in] */ IPin *ppinIn);
  8401.         
  8402.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8403.             IFilterGraph2 * This,
  8404.             /* [in] */ IPin *ppinOut);
  8405.         
  8406.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  8407.             IFilterGraph2 * This,
  8408.             /* [in] */ LPCWSTR lpcwstrFile,
  8409.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  8410.         
  8411.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  8412.             IFilterGraph2 * This,
  8413.             /* [in] */ LPCWSTR lpcwstrFileName,
  8414.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8415.             /* [out] */ IBaseFilter **ppFilter);
  8416.         
  8417.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  8418.             IFilterGraph2 * This,
  8419.             /* [in] */ DWORD_PTR hFile);
  8420.         
  8421.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  8422.             IFilterGraph2 * This);
  8423.         
  8424.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  8425.             IFilterGraph2 * This);
  8426.         
  8427.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )( 
  8428.             IFilterGraph2 * This,
  8429.             /* [in] */ IMoniker *pMoniker,
  8430.             /* [in] */ IBindCtx *pCtx,
  8431.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8432.             /* [out] */ IBaseFilter **ppFilter);
  8433.         
  8434.         HRESULT ( STDMETHODCALLTYPE *ReconnectEx )( 
  8435.             IFilterGraph2 * This,
  8436.             /* [in] */ IPin *ppin,
  8437.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8438.         
  8439.         HRESULT ( STDMETHODCALLTYPE *RenderEx )( 
  8440.             IFilterGraph2 * This,
  8441.             /* [in] */ IPin *pPinOut,
  8442.             /* [in] */ DWORD dwFlags,
  8443.             /* [out][in] */ DWORD *pvContext);
  8444.         
  8445.         END_INTERFACE
  8446.     } IFilterGraph2Vtbl;
  8447.  
  8448.     interface IFilterGraph2
  8449.     {
  8450.         CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  8451.     };
  8452.  
  8453.     
  8454.  
  8455. #ifdef COBJMACROS
  8456.  
  8457.  
  8458. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)    \
  8459.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8460.  
  8461. #define IFilterGraph2_AddRef(This)    \
  8462.     (This)->lpVtbl -> AddRef(This)
  8463.  
  8464. #define IFilterGraph2_Release(This)    \
  8465.     (This)->lpVtbl -> Release(This)
  8466.  
  8467.  
  8468. #define IFilterGraph2_AddFilter(This,pFilter,pName)    \
  8469.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  8470.  
  8471. #define IFilterGraph2_RemoveFilter(This,pFilter)    \
  8472.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  8473.  
  8474. #define IFilterGraph2_EnumFilters(This,ppEnum)    \
  8475.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  8476.  
  8477. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)    \
  8478.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  8479.  
  8480. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)    \
  8481.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  8482.  
  8483. #define IFilterGraph2_Reconnect(This,ppin)    \
  8484.     (This)->lpVtbl -> Reconnect(This,ppin)
  8485.  
  8486. #define IFilterGraph2_Disconnect(This,ppin)    \
  8487.     (This)->lpVtbl -> Disconnect(This,ppin)
  8488.  
  8489. #define IFilterGraph2_SetDefaultSyncSource(This)    \
  8490.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  8491.  
  8492.  
  8493. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)    \
  8494.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  8495.  
  8496. #define IFilterGraph2_Render(This,ppinOut)    \
  8497.     (This)->lpVtbl -> Render(This,ppinOut)
  8498.  
  8499. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)    \
  8500.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  8501.  
  8502. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)    \
  8503.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  8504.  
  8505. #define IFilterGraph2_SetLogFile(This,hFile)    \
  8506.     (This)->lpVtbl -> SetLogFile(This,hFile)
  8507.  
  8508. #define IFilterGraph2_Abort(This)    \
  8509.     (This)->lpVtbl -> Abort(This)
  8510.  
  8511. #define IFilterGraph2_ShouldOperationContinue(This)    \
  8512.     (This)->lpVtbl -> ShouldOperationContinue(This)
  8513.  
  8514.  
  8515. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)    \
  8516.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  8517.  
  8518. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)    \
  8519.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  8520.  
  8521. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)    \
  8522.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  8523.  
  8524. #endif /* COBJMACROS */
  8525.  
  8526.  
  8527. #endif     /* C style interface */
  8528.  
  8529.  
  8530.  
  8531. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  8532.     IFilterGraph2 * This,
  8533.     /* [in] */ IMoniker *pMoniker,
  8534.     /* [in] */ IBindCtx *pCtx,
  8535.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  8536.     /* [out] */ IBaseFilter **ppFilter);
  8537.  
  8538.  
  8539. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  8540.     IRpcStubBuffer *This,
  8541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8542.     PRPC_MESSAGE _pRpcMessage,
  8543.     DWORD *_pdwStubPhase);
  8544.  
  8545.  
  8546. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  8547.     IFilterGraph2 * This,
  8548.     /* [in] */ IPin *ppin,
  8549.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  8550.  
  8551.  
  8552. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  8553.     IRpcStubBuffer *This,
  8554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8555.     PRPC_MESSAGE _pRpcMessage,
  8556.     DWORD *_pdwStubPhase);
  8557.  
  8558.  
  8559. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  8560.     IFilterGraph2 * This,
  8561.     /* [in] */ IPin *pPinOut,
  8562.     /* [in] */ DWORD dwFlags,
  8563.     /* [out][in] */ DWORD *pvContext);
  8564.  
  8565.  
  8566. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  8567.     IRpcStubBuffer *This,
  8568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8569.     PRPC_MESSAGE _pRpcMessage,
  8570.     DWORD *_pdwStubPhase);
  8571.  
  8572.  
  8573.  
  8574. #endif     /* __IFilterGraph2_INTERFACE_DEFINED__ */
  8575.  
  8576.  
  8577. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  8578. #define __IStreamBuilder_INTERFACE_DEFINED__
  8579.  
  8580. /* interface IStreamBuilder */
  8581. /* [unique][uuid][local][object] */ 
  8582.  
  8583.  
  8584. EXTERN_C const IID IID_IStreamBuilder;
  8585.  
  8586. #if defined(__cplusplus) && !defined(CINTERFACE)
  8587.     
  8588.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  8589.     IStreamBuilder : public IUnknown
  8590.     {
  8591.     public:
  8592.         virtual HRESULT STDMETHODCALLTYPE Render( 
  8593.             /* [in] */ IPin *ppinOut,
  8594.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8595.         
  8596.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  8597.             /* [in] */ IPin *ppinOut,
  8598.             /* [in] */ IGraphBuilder *pGraph) = 0;
  8599.         
  8600.     };
  8601.     
  8602. #else     /* C style interface */
  8603.  
  8604.     typedef struct IStreamBuilderVtbl
  8605.     {
  8606.         BEGIN_INTERFACE
  8607.         
  8608.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8609.             IStreamBuilder * This,
  8610.             /* [in] */ REFIID riid,
  8611.             /* [iid_is][out] */ void **ppvObject);
  8612.         
  8613.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8614.             IStreamBuilder * This);
  8615.         
  8616.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8617.             IStreamBuilder * This);
  8618.         
  8619.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  8620.             IStreamBuilder * This,
  8621.             /* [in] */ IPin *ppinOut,
  8622.             /* [in] */ IGraphBuilder *pGraph);
  8623.         
  8624.         HRESULT ( STDMETHODCALLTYPE *Backout )( 
  8625.             IStreamBuilder * This,
  8626.             /* [in] */ IPin *ppinOut,
  8627.             /* [in] */ IGraphBuilder *pGraph);
  8628.         
  8629.         END_INTERFACE
  8630.     } IStreamBuilderVtbl;
  8631.  
  8632.     interface IStreamBuilder
  8633.     {
  8634.         CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  8635.     };
  8636.  
  8637.     
  8638.  
  8639. #ifdef COBJMACROS
  8640.  
  8641.  
  8642. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)    \
  8643.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8644.  
  8645. #define IStreamBuilder_AddRef(This)    \
  8646.     (This)->lpVtbl -> AddRef(This)
  8647.  
  8648. #define IStreamBuilder_Release(This)    \
  8649.     (This)->lpVtbl -> Release(This)
  8650.  
  8651.  
  8652. #define IStreamBuilder_Render(This,ppinOut,pGraph)    \
  8653.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  8654.  
  8655. #define IStreamBuilder_Backout(This,ppinOut,pGraph)    \
  8656.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  8657.  
  8658. #endif /* COBJMACROS */
  8659.  
  8660.  
  8661. #endif     /* C style interface */
  8662.  
  8663.  
  8664.  
  8665. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  8666.     IStreamBuilder * This,
  8667.     /* [in] */ IPin *ppinOut,
  8668.     /* [in] */ IGraphBuilder *pGraph);
  8669.  
  8670.  
  8671. void __RPC_STUB IStreamBuilder_Render_Stub(
  8672.     IRpcStubBuffer *This,
  8673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8674.     PRPC_MESSAGE _pRpcMessage,
  8675.     DWORD *_pdwStubPhase);
  8676.  
  8677.  
  8678. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  8679.     IStreamBuilder * This,
  8680.     /* [in] */ IPin *ppinOut,
  8681.     /* [in] */ IGraphBuilder *pGraph);
  8682.  
  8683.  
  8684. void __RPC_STUB IStreamBuilder_Backout_Stub(
  8685.     IRpcStubBuffer *This,
  8686.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8687.     PRPC_MESSAGE _pRpcMessage,
  8688.     DWORD *_pdwStubPhase);
  8689.  
  8690.  
  8691.  
  8692. #endif     /* __IStreamBuilder_INTERFACE_DEFINED__ */
  8693.  
  8694.  
  8695. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  8696. #define __IAsyncReader_INTERFACE_DEFINED__
  8697.  
  8698. /* interface IAsyncReader */
  8699. /* [unique][uuid][object] */ 
  8700.  
  8701.  
  8702. EXTERN_C const IID IID_IAsyncReader;
  8703.  
  8704. #if defined(__cplusplus) && !defined(CINTERFACE)
  8705.     
  8706.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  8707.     IAsyncReader : public IUnknown
  8708.     {
  8709.     public:
  8710.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  8711.             /* [in] */ IMemAllocator *pPreferred,
  8712.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8713.             /* [out] */ IMemAllocator **ppActual) = 0;
  8714.         
  8715.         virtual HRESULT STDMETHODCALLTYPE Request( 
  8716.             /* [in] */ IMediaSample *pSample,
  8717.             /* [in] */ DWORD_PTR dwUser) = 0;
  8718.         
  8719.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  8720.             /* [in] */ DWORD dwTimeout,
  8721.             /* [out] */ IMediaSample **ppSample,
  8722.             /* [out] */ DWORD_PTR *pdwUser) = 0;
  8723.         
  8724.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  8725.             /* [in] */ IMediaSample *pSample) = 0;
  8726.         
  8727.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  8728.             /* [in] */ LONGLONG llPosition,
  8729.             /* [in] */ LONG lLength,
  8730.             /* [size_is][out] */ BYTE *pBuffer) = 0;
  8731.         
  8732.         virtual HRESULT STDMETHODCALLTYPE Length( 
  8733.             /* [out] */ LONGLONG *pTotal,
  8734.             /* [out] */ LONGLONG *pAvailable) = 0;
  8735.         
  8736.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  8737.         
  8738.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  8739.         
  8740.     };
  8741.     
  8742. #else     /* C style interface */
  8743.  
  8744.     typedef struct IAsyncReaderVtbl
  8745.     {
  8746.         BEGIN_INTERFACE
  8747.         
  8748.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8749.             IAsyncReader * This,
  8750.             /* [in] */ REFIID riid,
  8751.             /* [iid_is][out] */ void **ppvObject);
  8752.         
  8753.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8754.             IAsyncReader * This);
  8755.         
  8756.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8757.             IAsyncReader * This);
  8758.         
  8759.         HRESULT ( STDMETHODCALLTYPE *RequestAllocator )( 
  8760.             IAsyncReader * This,
  8761.             /* [in] */ IMemAllocator *pPreferred,
  8762.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8763.             /* [out] */ IMemAllocator **ppActual);
  8764.         
  8765.         HRESULT ( STDMETHODCALLTYPE *Request )( 
  8766.             IAsyncReader * This,
  8767.             /* [in] */ IMediaSample *pSample,
  8768.             /* [in] */ DWORD_PTR dwUser);
  8769.         
  8770.         HRESULT ( STDMETHODCALLTYPE *WaitForNext )( 
  8771.             IAsyncReader * This,
  8772.             /* [in] */ DWORD dwTimeout,
  8773.             /* [out] */ IMediaSample **ppSample,
  8774.             /* [out] */ DWORD_PTR *pdwUser);
  8775.         
  8776.         HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )( 
  8777.             IAsyncReader * This,
  8778.             /* [in] */ IMediaSample *pSample);
  8779.         
  8780.         HRESULT ( STDMETHODCALLTYPE *SyncRead )( 
  8781.             IAsyncReader * This,
  8782.             /* [in] */ LONGLONG llPosition,
  8783.             /* [in] */ LONG lLength,
  8784.             /* [size_is][out] */ BYTE *pBuffer);
  8785.         
  8786.         HRESULT ( STDMETHODCALLTYPE *Length )( 
  8787.             IAsyncReader * This,
  8788.             /* [out] */ LONGLONG *pTotal,
  8789.             /* [out] */ LONGLONG *pAvailable);
  8790.         
  8791.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  8792.             IAsyncReader * This);
  8793.         
  8794.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  8795.             IAsyncReader * This);
  8796.         
  8797.         END_INTERFACE
  8798.     } IAsyncReaderVtbl;
  8799.  
  8800.     interface IAsyncReader
  8801.     {
  8802.         CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  8803.     };
  8804.  
  8805.     
  8806.  
  8807. #ifdef COBJMACROS
  8808.  
  8809.  
  8810. #define IAsyncReader_QueryInterface(This,riid,ppvObject)    \
  8811.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8812.  
  8813. #define IAsyncReader_AddRef(This)    \
  8814.     (This)->lpVtbl -> AddRef(This)
  8815.  
  8816. #define IAsyncReader_Release(This)    \
  8817.     (This)->lpVtbl -> Release(This)
  8818.  
  8819.  
  8820. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)    \
  8821.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  8822.  
  8823. #define IAsyncReader_Request(This,pSample,dwUser)    \
  8824.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  8825.  
  8826. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)    \
  8827.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  8828.  
  8829. #define IAsyncReader_SyncReadAligned(This,pSample)    \
  8830.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  8831.  
  8832. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)    \
  8833.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  8834.  
  8835. #define IAsyncReader_Length(This,pTotal,pAvailable)    \
  8836.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  8837.  
  8838. #define IAsyncReader_BeginFlush(This)    \
  8839.     (This)->lpVtbl -> BeginFlush(This)
  8840.  
  8841. #define IAsyncReader_EndFlush(This)    \
  8842.     (This)->lpVtbl -> EndFlush(This)
  8843.  
  8844. #endif /* COBJMACROS */
  8845.  
  8846.  
  8847. #endif     /* C style interface */
  8848.  
  8849.  
  8850.  
  8851. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  8852.     IAsyncReader * This,
  8853.     /* [in] */ IMemAllocator *pPreferred,
  8854.     /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  8855.     /* [out] */ IMemAllocator **ppActual);
  8856.  
  8857.  
  8858. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  8859.     IRpcStubBuffer *This,
  8860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8861.     PRPC_MESSAGE _pRpcMessage,
  8862.     DWORD *_pdwStubPhase);
  8863.  
  8864.  
  8865. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  8866.     IAsyncReader * This,
  8867.     /* [in] */ IMediaSample *pSample,
  8868.     /* [in] */ DWORD_PTR dwUser);
  8869.  
  8870.  
  8871. void __RPC_STUB IAsyncReader_Request_Stub(
  8872.     IRpcStubBuffer *This,
  8873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8874.     PRPC_MESSAGE _pRpcMessage,
  8875.     DWORD *_pdwStubPhase);
  8876.  
  8877.  
  8878. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  8879.     IAsyncReader * This,
  8880.     /* [in] */ DWORD dwTimeout,
  8881.     /* [out] */ IMediaSample **ppSample,
  8882.     /* [out] */ DWORD_PTR *pdwUser);
  8883.  
  8884.  
  8885. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  8886.     IRpcStubBuffer *This,
  8887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8888.     PRPC_MESSAGE _pRpcMessage,
  8889.     DWORD *_pdwStubPhase);
  8890.  
  8891.  
  8892. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  8893.     IAsyncReader * This,
  8894.     /* [in] */ IMediaSample *pSample);
  8895.  
  8896.  
  8897. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  8898.     IRpcStubBuffer *This,
  8899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8900.     PRPC_MESSAGE _pRpcMessage,
  8901.     DWORD *_pdwStubPhase);
  8902.  
  8903.  
  8904. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  8905.     IAsyncReader * This,
  8906.     /* [in] */ LONGLONG llPosition,
  8907.     /* [in] */ LONG lLength,
  8908.     /* [size_is][out] */ BYTE *pBuffer);
  8909.  
  8910.  
  8911. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  8912.     IRpcStubBuffer *This,
  8913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8914.     PRPC_MESSAGE _pRpcMessage,
  8915.     DWORD *_pdwStubPhase);
  8916.  
  8917.  
  8918. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  8919.     IAsyncReader * This,
  8920.     /* [out] */ LONGLONG *pTotal,
  8921.     /* [out] */ LONGLONG *pAvailable);
  8922.  
  8923.  
  8924. void __RPC_STUB IAsyncReader_Length_Stub(
  8925.     IRpcStubBuffer *This,
  8926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8927.     PRPC_MESSAGE _pRpcMessage,
  8928.     DWORD *_pdwStubPhase);
  8929.  
  8930.  
  8931. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  8932.     IAsyncReader * This);
  8933.  
  8934.  
  8935. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  8936.     IRpcStubBuffer *This,
  8937.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8938.     PRPC_MESSAGE _pRpcMessage,
  8939.     DWORD *_pdwStubPhase);
  8940.  
  8941.  
  8942. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  8943.     IAsyncReader * This);
  8944.  
  8945.  
  8946. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  8947.     IRpcStubBuffer *This,
  8948.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8949.     PRPC_MESSAGE _pRpcMessage,
  8950.     DWORD *_pdwStubPhase);
  8951.  
  8952.  
  8953.  
  8954. #endif     /* __IAsyncReader_INTERFACE_DEFINED__ */
  8955.  
  8956.  
  8957. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  8958. #define __IGraphVersion_INTERFACE_DEFINED__
  8959.  
  8960. /* interface IGraphVersion */
  8961. /* [unique][uuid][object] */ 
  8962.  
  8963.  
  8964. EXTERN_C const IID IID_IGraphVersion;
  8965.  
  8966. #if defined(__cplusplus) && !defined(CINTERFACE)
  8967.     
  8968.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  8969.     IGraphVersion : public IUnknown
  8970.     {
  8971.     public:
  8972.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  8973.             LONG *pVersion) = 0;
  8974.         
  8975.     };
  8976.     
  8977. #else     /* C style interface */
  8978.  
  8979.     typedef struct IGraphVersionVtbl
  8980.     {
  8981.         BEGIN_INTERFACE
  8982.         
  8983.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  8984.             IGraphVersion * This,
  8985.             /* [in] */ REFIID riid,
  8986.             /* [iid_is][out] */ void **ppvObject);
  8987.         
  8988.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  8989.             IGraphVersion * This);
  8990.         
  8991.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8992.             IGraphVersion * This);
  8993.         
  8994.         HRESULT ( STDMETHODCALLTYPE *QueryVersion )( 
  8995.             IGraphVersion * This,
  8996.             LONG *pVersion);
  8997.         
  8998.         END_INTERFACE
  8999.     } IGraphVersionVtbl;
  9000.  
  9001.     interface IGraphVersion
  9002.     {
  9003.         CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  9004.     };
  9005.  
  9006.     
  9007.  
  9008. #ifdef COBJMACROS
  9009.  
  9010.  
  9011. #define IGraphVersion_QueryInterface(This,riid,ppvObject)    \
  9012.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9013.  
  9014. #define IGraphVersion_AddRef(This)    \
  9015.     (This)->lpVtbl -> AddRef(This)
  9016.  
  9017. #define IGraphVersion_Release(This)    \
  9018.     (This)->lpVtbl -> Release(This)
  9019.  
  9020.  
  9021. #define IGraphVersion_QueryVersion(This,pVersion)    \
  9022.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  9023.  
  9024. #endif /* COBJMACROS */
  9025.  
  9026.  
  9027. #endif     /* C style interface */
  9028.  
  9029.  
  9030.  
  9031. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  9032.     IGraphVersion * This,
  9033.     LONG *pVersion);
  9034.  
  9035.  
  9036. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  9037.     IRpcStubBuffer *This,
  9038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9039.     PRPC_MESSAGE _pRpcMessage,
  9040.     DWORD *_pdwStubPhase);
  9041.  
  9042.  
  9043.  
  9044. #endif     /* __IGraphVersion_INTERFACE_DEFINED__ */
  9045.  
  9046.  
  9047. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  9048. #define __IResourceConsumer_INTERFACE_DEFINED__
  9049.  
  9050. /* interface IResourceConsumer */
  9051. /* [unique][uuid][object] */ 
  9052.  
  9053.  
  9054. EXTERN_C const IID IID_IResourceConsumer;
  9055.  
  9056. #if defined(__cplusplus) && !defined(CINTERFACE)
  9057.     
  9058.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  9059.     IResourceConsumer : public IUnknown
  9060.     {
  9061.     public:
  9062.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  9063.             /* [in] */ LONG idResource) = 0;
  9064.         
  9065.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  9066.             /* [in] */ LONG idResource) = 0;
  9067.         
  9068.     };
  9069.     
  9070. #else     /* C style interface */
  9071.  
  9072.     typedef struct IResourceConsumerVtbl
  9073.     {
  9074.         BEGIN_INTERFACE
  9075.         
  9076.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9077.             IResourceConsumer * This,
  9078.             /* [in] */ REFIID riid,
  9079.             /* [iid_is][out] */ void **ppvObject);
  9080.         
  9081.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9082.             IResourceConsumer * This);
  9083.         
  9084.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9085.             IResourceConsumer * This);
  9086.         
  9087.         HRESULT ( STDMETHODCALLTYPE *AcquireResource )( 
  9088.             IResourceConsumer * This,
  9089.             /* [in] */ LONG idResource);
  9090.         
  9091.         HRESULT ( STDMETHODCALLTYPE *ReleaseResource )( 
  9092.             IResourceConsumer * This,
  9093.             /* [in] */ LONG idResource);
  9094.         
  9095.         END_INTERFACE
  9096.     } IResourceConsumerVtbl;
  9097.  
  9098.     interface IResourceConsumer
  9099.     {
  9100.         CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  9101.     };
  9102.  
  9103.     
  9104.  
  9105. #ifdef COBJMACROS
  9106.  
  9107.  
  9108. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)    \
  9109.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9110.  
  9111. #define IResourceConsumer_AddRef(This)    \
  9112.     (This)->lpVtbl -> AddRef(This)
  9113.  
  9114. #define IResourceConsumer_Release(This)    \
  9115.     (This)->lpVtbl -> Release(This)
  9116.  
  9117.  
  9118. #define IResourceConsumer_AcquireResource(This,idResource)    \
  9119.     (This)->lpVtbl -> AcquireResource(This,idResource)
  9120.  
  9121. #define IResourceConsumer_ReleaseResource(This,idResource)    \
  9122.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  9123.  
  9124. #endif /* COBJMACROS */
  9125.  
  9126.  
  9127. #endif     /* C style interface */
  9128.  
  9129.  
  9130.  
  9131. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  9132.     IResourceConsumer * This,
  9133.     /* [in] */ LONG idResource);
  9134.  
  9135.  
  9136. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  9137.     IRpcStubBuffer *This,
  9138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9139.     PRPC_MESSAGE _pRpcMessage,
  9140.     DWORD *_pdwStubPhase);
  9141.  
  9142.  
  9143. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  9144.     IResourceConsumer * This,
  9145.     /* [in] */ LONG idResource);
  9146.  
  9147.  
  9148. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  9149.     IRpcStubBuffer *This,
  9150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9151.     PRPC_MESSAGE _pRpcMessage,
  9152.     DWORD *_pdwStubPhase);
  9153.  
  9154.  
  9155.  
  9156. #endif     /* __IResourceConsumer_INTERFACE_DEFINED__ */
  9157.  
  9158.  
  9159. #ifndef __IResourceManager_INTERFACE_DEFINED__
  9160. #define __IResourceManager_INTERFACE_DEFINED__
  9161.  
  9162. /* interface IResourceManager */
  9163. /* [unique][uuid][object] */ 
  9164.  
  9165.  
  9166. EXTERN_C const IID IID_IResourceManager;
  9167.  
  9168. #if defined(__cplusplus) && !defined(CINTERFACE)
  9169.     
  9170.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  9171.     IResourceManager : public IUnknown
  9172.     {
  9173.     public:
  9174.         virtual HRESULT STDMETHODCALLTYPE Register( 
  9175.             /* [in] */ LPCWSTR pName,
  9176.             /* [in] */ LONG cResource,
  9177.             /* [out] */ LONG *plToken) = 0;
  9178.         
  9179.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  9180.             /* [in] */ LPCWSTR pName,
  9181.             /* [in] */ LONG cResource,
  9182.             /* [size_is][in] */ LONG *palTokens,
  9183.             /* [out] */ LONG *plToken) = 0;
  9184.         
  9185.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  9186.             /* [in] */ LONG idResource,
  9187.             /* [in] */ IUnknown *pFocusObject,
  9188.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9189.         
  9190.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  9191.             /* [in] */ LONG idResource,
  9192.             /* [in] */ IResourceConsumer *pConsumer,
  9193.             /* [in] */ HRESULT hr) = 0;
  9194.         
  9195.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  9196.             /* [in] */ LONG idResource,
  9197.             /* [in] */ IResourceConsumer *pConsumer,
  9198.             /* [in] */ BOOL bStillWant) = 0;
  9199.         
  9200.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  9201.             /* [in] */ LONG idResource,
  9202.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  9203.         
  9204.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  9205.             /* [in] */ IUnknown *pFocusObject) = 0;
  9206.         
  9207.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  9208.             /* [in] */ IUnknown *pFocusObject) = 0;
  9209.         
  9210.     };
  9211.     
  9212. #else     /* C style interface */
  9213.  
  9214.     typedef struct IResourceManagerVtbl
  9215.     {
  9216.         BEGIN_INTERFACE
  9217.         
  9218.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9219.             IResourceManager * This,
  9220.             /* [in] */ REFIID riid,
  9221.             /* [iid_is][out] */ void **ppvObject);
  9222.         
  9223.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9224.             IResourceManager * This);
  9225.         
  9226.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9227.             IResourceManager * This);
  9228.         
  9229.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  9230.             IResourceManager * This,
  9231.             /* [in] */ LPCWSTR pName,
  9232.             /* [in] */ LONG cResource,
  9233.             /* [out] */ LONG *plToken);
  9234.         
  9235.         HRESULT ( STDMETHODCALLTYPE *RegisterGroup )( 
  9236.             IResourceManager * This,
  9237.             /* [in] */ LPCWSTR pName,
  9238.             /* [in] */ LONG cResource,
  9239.             /* [size_is][in] */ LONG *palTokens,
  9240.             /* [out] */ LONG *plToken);
  9241.         
  9242.         HRESULT ( STDMETHODCALLTYPE *RequestResource )( 
  9243.             IResourceManager * This,
  9244.             /* [in] */ LONG idResource,
  9245.             /* [in] */ IUnknown *pFocusObject,
  9246.             /* [in] */ IResourceConsumer *pConsumer);
  9247.         
  9248.         HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )( 
  9249.             IResourceManager * This,
  9250.             /* [in] */ LONG idResource,
  9251.             /* [in] */ IResourceConsumer *pConsumer,
  9252.             /* [in] */ HRESULT hr);
  9253.         
  9254.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  9255.             IResourceManager * This,
  9256.             /* [in] */ LONG idResource,
  9257.             /* [in] */ IResourceConsumer *pConsumer,
  9258.             /* [in] */ BOOL bStillWant);
  9259.         
  9260.         HRESULT ( STDMETHODCALLTYPE *CancelRequest )( 
  9261.             IResourceManager * This,
  9262.             /* [in] */ LONG idResource,
  9263.             /* [in] */ IResourceConsumer *pConsumer);
  9264.         
  9265.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  9266.             IResourceManager * This,
  9267.             /* [in] */ IUnknown *pFocusObject);
  9268.         
  9269.         HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
  9270.             IResourceManager * This,
  9271.             /* [in] */ IUnknown *pFocusObject);
  9272.         
  9273.         END_INTERFACE
  9274.     } IResourceManagerVtbl;
  9275.  
  9276.     interface IResourceManager
  9277.     {
  9278.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  9279.     };
  9280.  
  9281.     
  9282.  
  9283. #ifdef COBJMACROS
  9284.  
  9285.  
  9286. #define IResourceManager_QueryInterface(This,riid,ppvObject)    \
  9287.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9288.  
  9289. #define IResourceManager_AddRef(This)    \
  9290.     (This)->lpVtbl -> AddRef(This)
  9291.  
  9292. #define IResourceManager_Release(This)    \
  9293.     (This)->lpVtbl -> Release(This)
  9294.  
  9295.  
  9296. #define IResourceManager_Register(This,pName,cResource,plToken)    \
  9297.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  9298.  
  9299. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)    \
  9300.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  9301.  
  9302. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)    \
  9303.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  9304.  
  9305. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)    \
  9306.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  9307.  
  9308. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)    \
  9309.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  9310.  
  9311. #define IResourceManager_CancelRequest(This,idResource,pConsumer)    \
  9312.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  9313.  
  9314. #define IResourceManager_SetFocus(This,pFocusObject)    \
  9315.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  9316.  
  9317. #define IResourceManager_ReleaseFocus(This,pFocusObject)    \
  9318.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  9319.  
  9320. #endif /* COBJMACROS */
  9321.  
  9322.  
  9323. #endif     /* C style interface */
  9324.  
  9325.  
  9326.  
  9327. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  9328.     IResourceManager * This,
  9329.     /* [in] */ LPCWSTR pName,
  9330.     /* [in] */ LONG cResource,
  9331.     /* [out] */ LONG *plToken);
  9332.  
  9333.  
  9334. void __RPC_STUB IResourceManager_Register_Stub(
  9335.     IRpcStubBuffer *This,
  9336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9337.     PRPC_MESSAGE _pRpcMessage,
  9338.     DWORD *_pdwStubPhase);
  9339.  
  9340.  
  9341. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  9342.     IResourceManager * This,
  9343.     /* [in] */ LPCWSTR pName,
  9344.     /* [in] */ LONG cResource,
  9345.     /* [size_is][in] */ LONG *palTokens,
  9346.     /* [out] */ LONG *plToken);
  9347.  
  9348.  
  9349. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  9350.     IRpcStubBuffer *This,
  9351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9352.     PRPC_MESSAGE _pRpcMessage,
  9353.     DWORD *_pdwStubPhase);
  9354.  
  9355.  
  9356. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  9357.     IResourceManager * This,
  9358.     /* [in] */ LONG idResource,
  9359.     /* [in] */ IUnknown *pFocusObject,
  9360.     /* [in] */ IResourceConsumer *pConsumer);
  9361.  
  9362.  
  9363. void __RPC_STUB IResourceManager_RequestResource_Stub(
  9364.     IRpcStubBuffer *This,
  9365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9366.     PRPC_MESSAGE _pRpcMessage,
  9367.     DWORD *_pdwStubPhase);
  9368.  
  9369.  
  9370. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  9371.     IResourceManager * This,
  9372.     /* [in] */ LONG idResource,
  9373.     /* [in] */ IResourceConsumer *pConsumer,
  9374.     /* [in] */ HRESULT hr);
  9375.  
  9376.  
  9377. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  9378.     IRpcStubBuffer *This,
  9379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9380.     PRPC_MESSAGE _pRpcMessage,
  9381.     DWORD *_pdwStubPhase);
  9382.  
  9383.  
  9384. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  9385.     IResourceManager * This,
  9386.     /* [in] */ LONG idResource,
  9387.     /* [in] */ IResourceConsumer *pConsumer,
  9388.     /* [in] */ BOOL bStillWant);
  9389.  
  9390.  
  9391. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  9392.     IRpcStubBuffer *This,
  9393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9394.     PRPC_MESSAGE _pRpcMessage,
  9395.     DWORD *_pdwStubPhase);
  9396.  
  9397.  
  9398. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  9399.     IResourceManager * This,
  9400.     /* [in] */ LONG idResource,
  9401.     /* [in] */ IResourceConsumer *pConsumer);
  9402.  
  9403.  
  9404. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  9405.     IRpcStubBuffer *This,
  9406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9407.     PRPC_MESSAGE _pRpcMessage,
  9408.     DWORD *_pdwStubPhase);
  9409.  
  9410.  
  9411. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  9412.     IResourceManager * This,
  9413.     /* [in] */ IUnknown *pFocusObject);
  9414.  
  9415.  
  9416. void __RPC_STUB IResourceManager_SetFocus_Stub(
  9417.     IRpcStubBuffer *This,
  9418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9419.     PRPC_MESSAGE _pRpcMessage,
  9420.     DWORD *_pdwStubPhase);
  9421.  
  9422.  
  9423. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  9424.     IResourceManager * This,
  9425.     /* [in] */ IUnknown *pFocusObject);
  9426.  
  9427.  
  9428. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  9429.     IRpcStubBuffer *This,
  9430.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9431.     PRPC_MESSAGE _pRpcMessage,
  9432.     DWORD *_pdwStubPhase);
  9433.  
  9434.  
  9435.  
  9436. #endif     /* __IResourceManager_INTERFACE_DEFINED__ */
  9437.  
  9438.  
  9439. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  9440. #define __IDistributorNotify_INTERFACE_DEFINED__
  9441.  
  9442. /* interface IDistributorNotify */
  9443. /* [unique][uuid][object] */ 
  9444.  
  9445.  
  9446. EXTERN_C const IID IID_IDistributorNotify;
  9447.  
  9448. #if defined(__cplusplus) && !defined(CINTERFACE)
  9449.     
  9450.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  9451.     IDistributorNotify : public IUnknown
  9452.     {
  9453.     public:
  9454.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  9455.         
  9456.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  9457.         
  9458.         virtual HRESULT STDMETHODCALLTYPE Run( 
  9459.             REFERENCE_TIME tStart) = 0;
  9460.         
  9461.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  9462.             /* [in] */ IReferenceClock *pClock) = 0;
  9463.         
  9464.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  9465.         
  9466.     };
  9467.     
  9468. #else     /* C style interface */
  9469.  
  9470.     typedef struct IDistributorNotifyVtbl
  9471.     {
  9472.         BEGIN_INTERFACE
  9473.         
  9474.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9475.             IDistributorNotify * This,
  9476.             /* [in] */ REFIID riid,
  9477.             /* [iid_is][out] */ void **ppvObject);
  9478.         
  9479.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9480.             IDistributorNotify * This);
  9481.         
  9482.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9483.             IDistributorNotify * This);
  9484.         
  9485.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  9486.             IDistributorNotify * This);
  9487.         
  9488.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  9489.             IDistributorNotify * This);
  9490.         
  9491.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  9492.             IDistributorNotify * This,
  9493.             REFERENCE_TIME tStart);
  9494.         
  9495.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  9496.             IDistributorNotify * This,
  9497.             /* [in] */ IReferenceClock *pClock);
  9498.         
  9499.         HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )( 
  9500.             IDistributorNotify * This);
  9501.         
  9502.         END_INTERFACE
  9503.     } IDistributorNotifyVtbl;
  9504.  
  9505.     interface IDistributorNotify
  9506.     {
  9507.         CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  9508.     };
  9509.  
  9510.     
  9511.  
  9512. #ifdef COBJMACROS
  9513.  
  9514.  
  9515. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)    \
  9516.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9517.  
  9518. #define IDistributorNotify_AddRef(This)    \
  9519.     (This)->lpVtbl -> AddRef(This)
  9520.  
  9521. #define IDistributorNotify_Release(This)    \
  9522.     (This)->lpVtbl -> Release(This)
  9523.  
  9524.  
  9525. #define IDistributorNotify_Stop(This)    \
  9526.     (This)->lpVtbl -> Stop(This)
  9527.  
  9528. #define IDistributorNotify_Pause(This)    \
  9529.     (This)->lpVtbl -> Pause(This)
  9530.  
  9531. #define IDistributorNotify_Run(This,tStart)    \
  9532.     (This)->lpVtbl -> Run(This,tStart)
  9533.  
  9534. #define IDistributorNotify_SetSyncSource(This,pClock)    \
  9535.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  9536.  
  9537. #define IDistributorNotify_NotifyGraphChange(This)    \
  9538.     (This)->lpVtbl -> NotifyGraphChange(This)
  9539.  
  9540. #endif /* COBJMACROS */
  9541.  
  9542.  
  9543. #endif     /* C style interface */
  9544.  
  9545.  
  9546.  
  9547. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  9548.     IDistributorNotify * This);
  9549.  
  9550.  
  9551. void __RPC_STUB IDistributorNotify_Stop_Stub(
  9552.     IRpcStubBuffer *This,
  9553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9554.     PRPC_MESSAGE _pRpcMessage,
  9555.     DWORD *_pdwStubPhase);
  9556.  
  9557.  
  9558. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  9559.     IDistributorNotify * This);
  9560.  
  9561.  
  9562. void __RPC_STUB IDistributorNotify_Pause_Stub(
  9563.     IRpcStubBuffer *This,
  9564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9565.     PRPC_MESSAGE _pRpcMessage,
  9566.     DWORD *_pdwStubPhase);
  9567.  
  9568.  
  9569. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  9570.     IDistributorNotify * This,
  9571.     REFERENCE_TIME tStart);
  9572.  
  9573.  
  9574. void __RPC_STUB IDistributorNotify_Run_Stub(
  9575.     IRpcStubBuffer *This,
  9576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9577.     PRPC_MESSAGE _pRpcMessage,
  9578.     DWORD *_pdwStubPhase);
  9579.  
  9580.  
  9581. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  9582.     IDistributorNotify * This,
  9583.     /* [in] */ IReferenceClock *pClock);
  9584.  
  9585.  
  9586. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  9587.     IRpcStubBuffer *This,
  9588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9589.     PRPC_MESSAGE _pRpcMessage,
  9590.     DWORD *_pdwStubPhase);
  9591.  
  9592.  
  9593. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  9594.     IDistributorNotify * This);
  9595.  
  9596.  
  9597. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  9598.     IRpcStubBuffer *This,
  9599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9600.     PRPC_MESSAGE _pRpcMessage,
  9601.     DWORD *_pdwStubPhase);
  9602.  
  9603.  
  9604.  
  9605. #endif     /* __IDistributorNotify_INTERFACE_DEFINED__ */
  9606.  
  9607.  
  9608. /* interface __MIDL_itf_strmif_0155 */
  9609. /* [local] */ 
  9610.  
  9611. typedef /* [public] */ 
  9612. enum __MIDL___MIDL_itf_strmif_0155_0001
  9613.     {    AM_STREAM_INFO_START_DEFINED    = 0x1,
  9614.     AM_STREAM_INFO_STOP_DEFINED    = 0x2,
  9615.     AM_STREAM_INFO_DISCARDING    = 0x4,
  9616.     AM_STREAM_INFO_STOP_SEND_EXTRA    = 0x10
  9617.     }     AM_STREAM_INFO_FLAGS;
  9618.  
  9619. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0155_0002
  9620.     {
  9621.     REFERENCE_TIME tStart;
  9622.     REFERENCE_TIME tStop;
  9623.     DWORD dwStartCookie;
  9624.     DWORD dwStopCookie;
  9625.     DWORD dwFlags;
  9626.     }     AM_STREAM_INFO;
  9627.  
  9628.  
  9629.  
  9630. extern RPC_IF_HANDLE __MIDL_itf_strmif_0155_v0_0_c_ifspec;
  9631. extern RPC_IF_HANDLE __MIDL_itf_strmif_0155_v0_0_s_ifspec;
  9632.  
  9633. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  9634. #define __IAMStreamControl_INTERFACE_DEFINED__
  9635.  
  9636. /* interface IAMStreamControl */
  9637. /* [unique][uuid][object] */ 
  9638.  
  9639.  
  9640. EXTERN_C const IID IID_IAMStreamControl;
  9641.  
  9642. #if defined(__cplusplus) && !defined(CINTERFACE)
  9643.     
  9644.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  9645.     IAMStreamControl : public IUnknown
  9646.     {
  9647.     public:
  9648.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  9649.             /* [in] */ const REFERENCE_TIME *ptStart,
  9650.             /* [in] */ DWORD dwCookie) = 0;
  9651.         
  9652.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  9653.             /* [in] */ const REFERENCE_TIME *ptStop,
  9654.             /* [in] */ BOOL bSendExtra,
  9655.             /* [in] */ DWORD dwCookie) = 0;
  9656.         
  9657.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  9658.             /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  9659.         
  9660.     };
  9661.     
  9662. #else     /* C style interface */
  9663.  
  9664.     typedef struct IAMStreamControlVtbl
  9665.     {
  9666.         BEGIN_INTERFACE
  9667.         
  9668.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9669.             IAMStreamControl * This,
  9670.             /* [in] */ REFIID riid,
  9671.             /* [iid_is][out] */ void **ppvObject);
  9672.         
  9673.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9674.             IAMStreamControl * This);
  9675.         
  9676.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9677.             IAMStreamControl * This);
  9678.         
  9679.         HRESULT ( STDMETHODCALLTYPE *StartAt )( 
  9680.             IAMStreamControl * This,
  9681.             /* [in] */ const REFERENCE_TIME *ptStart,
  9682.             /* [in] */ DWORD dwCookie);
  9683.         
  9684.         HRESULT ( STDMETHODCALLTYPE *StopAt )( 
  9685.             IAMStreamControl * This,
  9686.             /* [in] */ const REFERENCE_TIME *ptStop,
  9687.             /* [in] */ BOOL bSendExtra,
  9688.             /* [in] */ DWORD dwCookie);
  9689.         
  9690.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  9691.             IAMStreamControl * This,
  9692.             /* [out] */ AM_STREAM_INFO *pInfo);
  9693.         
  9694.         END_INTERFACE
  9695.     } IAMStreamControlVtbl;
  9696.  
  9697.     interface IAMStreamControl
  9698.     {
  9699.         CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  9700.     };
  9701.  
  9702.     
  9703.  
  9704. #ifdef COBJMACROS
  9705.  
  9706.  
  9707. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)    \
  9708.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9709.  
  9710. #define IAMStreamControl_AddRef(This)    \
  9711.     (This)->lpVtbl -> AddRef(This)
  9712.  
  9713. #define IAMStreamControl_Release(This)    \
  9714.     (This)->lpVtbl -> Release(This)
  9715.  
  9716.  
  9717. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)    \
  9718.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  9719.  
  9720. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)    \
  9721.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  9722.  
  9723. #define IAMStreamControl_GetInfo(This,pInfo)    \
  9724.     (This)->lpVtbl -> GetInfo(This,pInfo)
  9725.  
  9726. #endif /* COBJMACROS */
  9727.  
  9728.  
  9729. #endif     /* C style interface */
  9730.  
  9731.  
  9732.  
  9733. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  9734.     IAMStreamControl * This,
  9735.     /* [in] */ const REFERENCE_TIME *ptStart,
  9736.     /* [in] */ DWORD dwCookie);
  9737.  
  9738.  
  9739. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  9740.     IRpcStubBuffer *This,
  9741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9742.     PRPC_MESSAGE _pRpcMessage,
  9743.     DWORD *_pdwStubPhase);
  9744.  
  9745.  
  9746. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  9747.     IAMStreamControl * This,
  9748.     /* [in] */ const REFERENCE_TIME *ptStop,
  9749.     /* [in] */ BOOL bSendExtra,
  9750.     /* [in] */ DWORD dwCookie);
  9751.  
  9752.  
  9753. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  9754.     IRpcStubBuffer *This,
  9755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9756.     PRPC_MESSAGE _pRpcMessage,
  9757.     DWORD *_pdwStubPhase);
  9758.  
  9759.  
  9760. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  9761.     IAMStreamControl * This,
  9762.     /* [out] */ AM_STREAM_INFO *pInfo);
  9763.  
  9764.  
  9765. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  9766.     IRpcStubBuffer *This,
  9767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9768.     PRPC_MESSAGE _pRpcMessage,
  9769.     DWORD *_pdwStubPhase);
  9770.  
  9771.  
  9772.  
  9773. #endif     /* __IAMStreamControl_INTERFACE_DEFINED__ */
  9774.  
  9775.  
  9776. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  9777. #define __ISeekingPassThru_INTERFACE_DEFINED__
  9778.  
  9779. /* interface ISeekingPassThru */
  9780. /* [unique][uuid][object] */ 
  9781.  
  9782.  
  9783. EXTERN_C const IID IID_ISeekingPassThru;
  9784.  
  9785. #if defined(__cplusplus) && !defined(CINTERFACE)
  9786.     
  9787.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  9788.     ISeekingPassThru : public IUnknown
  9789.     {
  9790.     public:
  9791.         virtual HRESULT STDMETHODCALLTYPE Init( 
  9792.             /* [in] */ BOOL bSupportRendering,
  9793.             /* [in] */ IPin *pPin) = 0;
  9794.         
  9795.     };
  9796.     
  9797. #else     /* C style interface */
  9798.  
  9799.     typedef struct ISeekingPassThruVtbl
  9800.     {
  9801.         BEGIN_INTERFACE
  9802.         
  9803.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9804.             ISeekingPassThru * This,
  9805.             /* [in] */ REFIID riid,
  9806.             /* [iid_is][out] */ void **ppvObject);
  9807.         
  9808.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9809.             ISeekingPassThru * This);
  9810.         
  9811.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9812.             ISeekingPassThru * This);
  9813.         
  9814.         HRESULT ( STDMETHODCALLTYPE *Init )( 
  9815.             ISeekingPassThru * This,
  9816.             /* [in] */ BOOL bSupportRendering,
  9817.             /* [in] */ IPin *pPin);
  9818.         
  9819.         END_INTERFACE
  9820.     } ISeekingPassThruVtbl;
  9821.  
  9822.     interface ISeekingPassThru
  9823.     {
  9824.         CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  9825.     };
  9826.  
  9827.     
  9828.  
  9829. #ifdef COBJMACROS
  9830.  
  9831.  
  9832. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)    \
  9833.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9834.  
  9835. #define ISeekingPassThru_AddRef(This)    \
  9836.     (This)->lpVtbl -> AddRef(This)
  9837.  
  9838. #define ISeekingPassThru_Release(This)    \
  9839.     (This)->lpVtbl -> Release(This)
  9840.  
  9841.  
  9842. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)    \
  9843.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  9844.  
  9845. #endif /* COBJMACROS */
  9846.  
  9847.  
  9848. #endif     /* C style interface */
  9849.  
  9850.  
  9851.  
  9852. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  9853.     ISeekingPassThru * This,
  9854.     /* [in] */ BOOL bSupportRendering,
  9855.     /* [in] */ IPin *pPin);
  9856.  
  9857.  
  9858. void __RPC_STUB ISeekingPassThru_Init_Stub(
  9859.     IRpcStubBuffer *This,
  9860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9861.     PRPC_MESSAGE _pRpcMessage,
  9862.     DWORD *_pdwStubPhase);
  9863.  
  9864.  
  9865.  
  9866. #endif     /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  9867.  
  9868.  
  9869. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  9870. #define __IAMStreamConfig_INTERFACE_DEFINED__
  9871.  
  9872. /* interface IAMStreamConfig */
  9873. /* [unique][uuid][object] */ 
  9874.  
  9875. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  9876.     {
  9877.     GUID guid;
  9878.     ULONG VideoStandard;
  9879.     SIZE InputSize;
  9880.     SIZE MinCroppingSize;
  9881.     SIZE MaxCroppingSize;
  9882.     int CropGranularityX;
  9883.     int CropGranularityY;
  9884.     int CropAlignX;
  9885.     int CropAlignY;
  9886.     SIZE MinOutputSize;
  9887.     SIZE MaxOutputSize;
  9888.     int OutputGranularityX;
  9889.     int OutputGranularityY;
  9890.     int StretchTapsX;
  9891.     int StretchTapsY;
  9892.     int ShrinkTapsX;
  9893.     int ShrinkTapsY;
  9894.     LONGLONG MinFrameInterval;
  9895.     LONGLONG MaxFrameInterval;
  9896.     LONG MinBitsPerSecond;
  9897.     LONG MaxBitsPerSecond;
  9898.     }     VIDEO_STREAM_CONFIG_CAPS;
  9899.  
  9900. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  9901.     {
  9902.     GUID guid;
  9903.     ULONG MinimumChannels;
  9904.     ULONG MaximumChannels;
  9905.     ULONG ChannelsGranularity;
  9906.     ULONG MinimumBitsPerSample;
  9907.     ULONG MaximumBitsPerSample;
  9908.     ULONG BitsPerSampleGranularity;
  9909.     ULONG MinimumSampleFrequency;
  9910.     ULONG MaximumSampleFrequency;
  9911.     ULONG SampleFrequencyGranularity;
  9912.     }     AUDIO_STREAM_CONFIG_CAPS;
  9913.  
  9914.  
  9915. EXTERN_C const IID IID_IAMStreamConfig;
  9916.  
  9917. #if defined(__cplusplus) && !defined(CINTERFACE)
  9918.     
  9919.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  9920.     IAMStreamConfig : public IUnknown
  9921.     {
  9922.     public:
  9923.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  9924.             /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  9925.         
  9926.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  9927.             /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  9928.         
  9929.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  9930.             /* [out] */ int *piCount,
  9931.             /* [out] */ int *piSize) = 0;
  9932.         
  9933.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  9934.             /* [in] */ int iIndex,
  9935.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9936.             /* [out] */ BYTE *pSCC) = 0;
  9937.         
  9938.     };
  9939.     
  9940. #else     /* C style interface */
  9941.  
  9942.     typedef struct IAMStreamConfigVtbl
  9943.     {
  9944.         BEGIN_INTERFACE
  9945.         
  9946.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  9947.             IAMStreamConfig * This,
  9948.             /* [in] */ REFIID riid,
  9949.             /* [iid_is][out] */ void **ppvObject);
  9950.         
  9951.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  9952.             IAMStreamConfig * This);
  9953.         
  9954.         ULONG ( STDMETHODCALLTYPE *Release )( 
  9955.             IAMStreamConfig * This);
  9956.         
  9957.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  9958.             IAMStreamConfig * This,
  9959.             /* [in] */ AM_MEDIA_TYPE *pmt);
  9960.         
  9961.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  9962.             IAMStreamConfig * This,
  9963.             /* [out] */ AM_MEDIA_TYPE **ppmt);
  9964.         
  9965.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )( 
  9966.             IAMStreamConfig * This,
  9967.             /* [out] */ int *piCount,
  9968.             /* [out] */ int *piSize);
  9969.         
  9970.         HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )( 
  9971.             IAMStreamConfig * This,
  9972.             /* [in] */ int iIndex,
  9973.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  9974.             /* [out] */ BYTE *pSCC);
  9975.         
  9976.         END_INTERFACE
  9977.     } IAMStreamConfigVtbl;
  9978.  
  9979.     interface IAMStreamConfig
  9980.     {
  9981.         CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  9982.     };
  9983.  
  9984.     
  9985.  
  9986. #ifdef COBJMACROS
  9987.  
  9988.  
  9989. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)    \
  9990.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9991.  
  9992. #define IAMStreamConfig_AddRef(This)    \
  9993.     (This)->lpVtbl -> AddRef(This)
  9994.  
  9995. #define IAMStreamConfig_Release(This)    \
  9996.     (This)->lpVtbl -> Release(This)
  9997.  
  9998.  
  9999. #define IAMStreamConfig_SetFormat(This,pmt)    \
  10000.     (This)->lpVtbl -> SetFormat(This,pmt)
  10001.  
  10002. #define IAMStreamConfig_GetFormat(This,ppmt)    \
  10003.     (This)->lpVtbl -> GetFormat(This,ppmt)
  10004.  
  10005. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)    \
  10006.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  10007.  
  10008. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)    \
  10009.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  10010.  
  10011. #endif /* COBJMACROS */
  10012.  
  10013.  
  10014. #endif     /* C style interface */
  10015.  
  10016.  
  10017.  
  10018. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  10019.     IAMStreamConfig * This,
  10020.     /* [in] */ AM_MEDIA_TYPE *pmt);
  10021.  
  10022.  
  10023. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  10024.     IRpcStubBuffer *This,
  10025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10026.     PRPC_MESSAGE _pRpcMessage,
  10027.     DWORD *_pdwStubPhase);
  10028.  
  10029.  
  10030. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  10031.     IAMStreamConfig * This,
  10032.     /* [out] */ AM_MEDIA_TYPE **ppmt);
  10033.  
  10034.  
  10035. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  10036.     IRpcStubBuffer *This,
  10037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10038.     PRPC_MESSAGE _pRpcMessage,
  10039.     DWORD *_pdwStubPhase);
  10040.  
  10041.  
  10042. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  10043.     IAMStreamConfig * This,
  10044.     /* [out] */ int *piCount,
  10045.     /* [out] */ int *piSize);
  10046.  
  10047.  
  10048. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  10049.     IRpcStubBuffer *This,
  10050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10051.     PRPC_MESSAGE _pRpcMessage,
  10052.     DWORD *_pdwStubPhase);
  10053.  
  10054.  
  10055. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  10056.     IAMStreamConfig * This,
  10057.     /* [in] */ int iIndex,
  10058.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  10059.     /* [out] */ BYTE *pSCC);
  10060.  
  10061.  
  10062. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  10063.     IRpcStubBuffer *This,
  10064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10065.     PRPC_MESSAGE _pRpcMessage,
  10066.     DWORD *_pdwStubPhase);
  10067.  
  10068.  
  10069.  
  10070. #endif     /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  10071.  
  10072.  
  10073. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  10074. #define __IConfigInterleaving_INTERFACE_DEFINED__
  10075.  
  10076. /* interface IConfigInterleaving */
  10077. /* [unique][uuid][object] */ 
  10078.  
  10079. typedef /* [public][public][public] */ 
  10080. enum __MIDL_IConfigInterleaving_0001
  10081.     {    INTERLEAVE_NONE    = 0,
  10082.     INTERLEAVE_CAPTURE    = INTERLEAVE_NONE + 1,
  10083.     INTERLEAVE_FULL    = INTERLEAVE_CAPTURE + 1,
  10084.     INTERLEAVE_NONE_BUFFERED    = INTERLEAVE_FULL + 1
  10085.     }     InterleavingMode;
  10086.  
  10087.  
  10088. EXTERN_C const IID IID_IConfigInterleaving;
  10089.  
  10090. #if defined(__cplusplus) && !defined(CINTERFACE)
  10091.     
  10092.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  10093.     IConfigInterleaving : public IUnknown
  10094.     {
  10095.     public:
  10096.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  10097.             /* [in] */ InterleavingMode mode) = 0;
  10098.         
  10099.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  10100.             /* [out] */ InterleavingMode *pMode) = 0;
  10101.         
  10102.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  10103.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10104.             /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  10105.         
  10106.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  10107.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10108.             /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  10109.         
  10110.     };
  10111.     
  10112. #else     /* C style interface */
  10113.  
  10114.     typedef struct IConfigInterleavingVtbl
  10115.     {
  10116.         BEGIN_INTERFACE
  10117.         
  10118.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10119.             IConfigInterleaving * This,
  10120.             /* [in] */ REFIID riid,
  10121.             /* [iid_is][out] */ void **ppvObject);
  10122.         
  10123.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10124.             IConfigInterleaving * This);
  10125.         
  10126.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10127.             IConfigInterleaving * This);
  10128.         
  10129.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  10130.             IConfigInterleaving * This,
  10131.             /* [in] */ InterleavingMode mode);
  10132.         
  10133.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  10134.             IConfigInterleaving * This,
  10135.             /* [out] */ InterleavingMode *pMode);
  10136.         
  10137.         HRESULT ( STDMETHODCALLTYPE *put_Interleaving )( 
  10138.             IConfigInterleaving * This,
  10139.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  10140.             /* [in] */ const REFERENCE_TIME *prtPreroll);
  10141.         
  10142.         HRESULT ( STDMETHODCALLTYPE *get_Interleaving )( 
  10143.             IConfigInterleaving * This,
  10144.             /* [out] */ REFERENCE_TIME *prtInterleave,
  10145.             /* [out] */ REFERENCE_TIME *prtPreroll);
  10146.         
  10147.         END_INTERFACE
  10148.     } IConfigInterleavingVtbl;
  10149.  
  10150.     interface IConfigInterleaving
  10151.     {
  10152.         CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  10153.     };
  10154.  
  10155.     
  10156.  
  10157. #ifdef COBJMACROS
  10158.  
  10159.  
  10160. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)    \
  10161.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10162.  
  10163. #define IConfigInterleaving_AddRef(This)    \
  10164.     (This)->lpVtbl -> AddRef(This)
  10165.  
  10166. #define IConfigInterleaving_Release(This)    \
  10167.     (This)->lpVtbl -> Release(This)
  10168.  
  10169.  
  10170. #define IConfigInterleaving_put_Mode(This,mode)    \
  10171.     (This)->lpVtbl -> put_Mode(This,mode)
  10172.  
  10173. #define IConfigInterleaving_get_Mode(This,pMode)    \
  10174.     (This)->lpVtbl -> get_Mode(This,pMode)
  10175.  
  10176. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)    \
  10177.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  10178.  
  10179. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)    \
  10180.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  10181.  
  10182. #endif /* COBJMACROS */
  10183.  
  10184.  
  10185. #endif     /* C style interface */
  10186.  
  10187.  
  10188.  
  10189. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  10190.     IConfigInterleaving * This,
  10191.     /* [in] */ InterleavingMode mode);
  10192.  
  10193.  
  10194. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  10195.     IRpcStubBuffer *This,
  10196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10197.     PRPC_MESSAGE _pRpcMessage,
  10198.     DWORD *_pdwStubPhase);
  10199.  
  10200.  
  10201. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  10202.     IConfigInterleaving * This,
  10203.     /* [out] */ InterleavingMode *pMode);
  10204.  
  10205.  
  10206. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  10207.     IRpcStubBuffer *This,
  10208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10209.     PRPC_MESSAGE _pRpcMessage,
  10210.     DWORD *_pdwStubPhase);
  10211.  
  10212.  
  10213. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  10214.     IConfigInterleaving * This,
  10215.     /* [in] */ const REFERENCE_TIME *prtInterleave,
  10216.     /* [in] */ const REFERENCE_TIME *prtPreroll);
  10217.  
  10218.  
  10219. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  10220.     IRpcStubBuffer *This,
  10221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10222.     PRPC_MESSAGE _pRpcMessage,
  10223.     DWORD *_pdwStubPhase);
  10224.  
  10225.  
  10226. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  10227.     IConfigInterleaving * This,
  10228.     /* [out] */ REFERENCE_TIME *prtInterleave,
  10229.     /* [out] */ REFERENCE_TIME *prtPreroll);
  10230.  
  10231.  
  10232. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  10233.     IRpcStubBuffer *This,
  10234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10235.     PRPC_MESSAGE _pRpcMessage,
  10236.     DWORD *_pdwStubPhase);
  10237.  
  10238.  
  10239.  
  10240. #endif     /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  10241.  
  10242.  
  10243. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  10244. #define __IConfigAviMux_INTERFACE_DEFINED__
  10245.  
  10246. /* interface IConfigAviMux */
  10247. /* [unique][uuid][object] */ 
  10248.  
  10249.  
  10250. EXTERN_C const IID IID_IConfigAviMux;
  10251.  
  10252. #if defined(__cplusplus) && !defined(CINTERFACE)
  10253.     
  10254.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  10255.     IConfigAviMux : public IUnknown
  10256.     {
  10257.     public:
  10258.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  10259.             /* [in] */ LONG iStream) = 0;
  10260.         
  10261.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  10262.             /* [out] */ LONG *pStream) = 0;
  10263.         
  10264.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  10265.             /* [in] */ BOOL fOldIndex) = 0;
  10266.         
  10267.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  10268.             /* [out] */ BOOL *pfOldIndex) = 0;
  10269.         
  10270.     };
  10271.     
  10272. #else     /* C style interface */
  10273.  
  10274.     typedef struct IConfigAviMuxVtbl
  10275.     {
  10276.         BEGIN_INTERFACE
  10277.         
  10278.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10279.             IConfigAviMux * This,
  10280.             /* [in] */ REFIID riid,
  10281.             /* [iid_is][out] */ void **ppvObject);
  10282.         
  10283.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10284.             IConfigAviMux * This);
  10285.         
  10286.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10287.             IConfigAviMux * This);
  10288.         
  10289.         HRESULT ( STDMETHODCALLTYPE *SetMasterStream )( 
  10290.             IConfigAviMux * This,
  10291.             /* [in] */ LONG iStream);
  10292.         
  10293.         HRESULT ( STDMETHODCALLTYPE *GetMasterStream )( 
  10294.             IConfigAviMux * This,
  10295.             /* [out] */ LONG *pStream);
  10296.         
  10297.         HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )( 
  10298.             IConfigAviMux * This,
  10299.             /* [in] */ BOOL fOldIndex);
  10300.         
  10301.         HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )( 
  10302.             IConfigAviMux * This,
  10303.             /* [out] */ BOOL *pfOldIndex);
  10304.         
  10305.         END_INTERFACE
  10306.     } IConfigAviMuxVtbl;
  10307.  
  10308.     interface IConfigAviMux
  10309.     {
  10310.         CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  10311.     };
  10312.  
  10313.     
  10314.  
  10315. #ifdef COBJMACROS
  10316.  
  10317.  
  10318. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)    \
  10319.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10320.  
  10321. #define IConfigAviMux_AddRef(This)    \
  10322.     (This)->lpVtbl -> AddRef(This)
  10323.  
  10324. #define IConfigAviMux_Release(This)    \
  10325.     (This)->lpVtbl -> Release(This)
  10326.  
  10327.  
  10328. #define IConfigAviMux_SetMasterStream(This,iStream)    \
  10329.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  10330.  
  10331. #define IConfigAviMux_GetMasterStream(This,pStream)    \
  10332.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  10333.  
  10334. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)    \
  10335.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  10336.  
  10337. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)    \
  10338.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  10339.  
  10340. #endif /* COBJMACROS */
  10341.  
  10342.  
  10343. #endif     /* C style interface */
  10344.  
  10345.  
  10346.  
  10347. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  10348.     IConfigAviMux * This,
  10349.     /* [in] */ LONG iStream);
  10350.  
  10351.  
  10352. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  10353.     IRpcStubBuffer *This,
  10354.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10355.     PRPC_MESSAGE _pRpcMessage,
  10356.     DWORD *_pdwStubPhase);
  10357.  
  10358.  
  10359. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  10360.     IConfigAviMux * This,
  10361.     /* [out] */ LONG *pStream);
  10362.  
  10363.  
  10364. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  10365.     IRpcStubBuffer *This,
  10366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10367.     PRPC_MESSAGE _pRpcMessage,
  10368.     DWORD *_pdwStubPhase);
  10369.  
  10370.  
  10371. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  10372.     IConfigAviMux * This,
  10373.     /* [in] */ BOOL fOldIndex);
  10374.  
  10375.  
  10376. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  10377.     IRpcStubBuffer *This,
  10378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10379.     PRPC_MESSAGE _pRpcMessage,
  10380.     DWORD *_pdwStubPhase);
  10381.  
  10382.  
  10383. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  10384.     IConfigAviMux * This,
  10385.     /* [out] */ BOOL *pfOldIndex);
  10386.  
  10387.  
  10388. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  10389.     IRpcStubBuffer *This,
  10390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10391.     PRPC_MESSAGE _pRpcMessage,
  10392.     DWORD *_pdwStubPhase);
  10393.  
  10394.  
  10395.  
  10396. #endif     /* __IConfigAviMux_INTERFACE_DEFINED__ */
  10397.  
  10398.  
  10399. /* interface __MIDL_itf_strmif_0162 */
  10400. /* [local] */ 
  10401.  
  10402. typedef /* [public] */ 
  10403. enum __MIDL___MIDL_itf_strmif_0162_0001
  10404.     {    CompressionCaps_CanQuality    = 0x1,
  10405.     CompressionCaps_CanCrunch    = 0x2,
  10406.     CompressionCaps_CanKeyFrame    = 0x4,
  10407.     CompressionCaps_CanBFrame    = 0x8,
  10408.     CompressionCaps_CanWindow    = 0x10
  10409.     }     CompressionCaps;
  10410.  
  10411.  
  10412.  
  10413. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_c_ifspec;
  10414. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_s_ifspec;
  10415.  
  10416. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  10417. #define __IAMVideoCompression_INTERFACE_DEFINED__
  10418.  
  10419. /* interface IAMVideoCompression */
  10420. /* [unique][uuid][object] */ 
  10421.  
  10422.  
  10423. EXTERN_C const IID IID_IAMVideoCompression;
  10424.  
  10425. #if defined(__cplusplus) && !defined(CINTERFACE)
  10426.     
  10427.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  10428.     IAMVideoCompression : public IUnknown
  10429.     {
  10430.     public:
  10431.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  10432.             /* [in] */ long KeyFrameRate) = 0;
  10433.         
  10434.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  10435.             /* [out] */ long *pKeyFrameRate) = 0;
  10436.         
  10437.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  10438.             /* [in] */ long PFramesPerKeyFrame) = 0;
  10439.         
  10440.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  10441.             /* [out] */ long *pPFramesPerKeyFrame) = 0;
  10442.         
  10443.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  10444.             /* [in] */ double Quality) = 0;
  10445.         
  10446.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  10447.             /* [out] */ double *pQuality) = 0;
  10448.         
  10449.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  10450.             /* [in] */ DWORDLONG WindowSize) = 0;
  10451.         
  10452.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  10453.             /* [out] */ DWORDLONG *pWindowSize) = 0;
  10454.         
  10455.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  10456.             /* [size_is][out] */ WCHAR *pszVersion,
  10457.             /* [out][in] */ int *pcbVersion,
  10458.             /* [size_is][out] */ LPWSTR pszDescription,
  10459.             /* [out][in] */ int *pcbDescription,
  10460.             /* [out] */ long *pDefaultKeyFrameRate,
  10461.             /* [out] */ long *pDefaultPFramesPerKey,
  10462.             /* [out] */ double *pDefaultQuality,
  10463.             /* [out] */ long *pCapabilities) = 0;
  10464.         
  10465.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  10466.             /* [in] */ long FrameNumber) = 0;
  10467.         
  10468.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  10469.             /* [in] */ long FrameNumber,
  10470.             /* [in] */ long Size) = 0;
  10471.         
  10472.     };
  10473.     
  10474. #else     /* C style interface */
  10475.  
  10476.     typedef struct IAMVideoCompressionVtbl
  10477.     {
  10478.         BEGIN_INTERFACE
  10479.         
  10480.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10481.             IAMVideoCompression * This,
  10482.             /* [in] */ REFIID riid,
  10483.             /* [iid_is][out] */ void **ppvObject);
  10484.         
  10485.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10486.             IAMVideoCompression * This);
  10487.         
  10488.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10489.             IAMVideoCompression * This);
  10490.         
  10491.         HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )( 
  10492.             IAMVideoCompression * This,
  10493.             /* [in] */ long KeyFrameRate);
  10494.         
  10495.         HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )( 
  10496.             IAMVideoCompression * This,
  10497.             /* [out] */ long *pKeyFrameRate);
  10498.         
  10499.         HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )( 
  10500.             IAMVideoCompression * This,
  10501.             /* [in] */ long PFramesPerKeyFrame);
  10502.         
  10503.         HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )( 
  10504.             IAMVideoCompression * This,
  10505.             /* [out] */ long *pPFramesPerKeyFrame);
  10506.         
  10507.         HRESULT ( STDMETHODCALLTYPE *put_Quality )( 
  10508.             IAMVideoCompression * This,
  10509.             /* [in] */ double Quality);
  10510.         
  10511.         HRESULT ( STDMETHODCALLTYPE *get_Quality )( 
  10512.             IAMVideoCompression * This,
  10513.             /* [out] */ double *pQuality);
  10514.         
  10515.         HRESULT ( STDMETHODCALLTYPE *put_WindowSize )( 
  10516.             IAMVideoCompression * This,
  10517.             /* [in] */ DWORDLONG WindowSize);
  10518.         
  10519.         HRESULT ( STDMETHODCALLTYPE *get_WindowSize )( 
  10520.             IAMVideoCompression * This,
  10521.             /* [out] */ DWORDLONG *pWindowSize);
  10522.         
  10523.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  10524.             IAMVideoCompression * This,
  10525.             /* [size_is][out] */ WCHAR *pszVersion,
  10526.             /* [out][in] */ int *pcbVersion,
  10527.             /* [size_is][out] */ LPWSTR pszDescription,
  10528.             /* [out][in] */ int *pcbDescription,
  10529.             /* [out] */ long *pDefaultKeyFrameRate,
  10530.             /* [out] */ long *pDefaultPFramesPerKey,
  10531.             /* [out] */ double *pDefaultQuality,
  10532.             /* [out] */ long *pCapabilities);
  10533.         
  10534.         HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )( 
  10535.             IAMVideoCompression * This,
  10536.             /* [in] */ long FrameNumber);
  10537.         
  10538.         HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )( 
  10539.             IAMVideoCompression * This,
  10540.             /* [in] */ long FrameNumber,
  10541.             /* [in] */ long Size);
  10542.         
  10543.         END_INTERFACE
  10544.     } IAMVideoCompressionVtbl;
  10545.  
  10546.     interface IAMVideoCompression
  10547.     {
  10548.         CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  10549.     };
  10550.  
  10551.     
  10552.  
  10553. #ifdef COBJMACROS
  10554.  
  10555.  
  10556. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)    \
  10557.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10558.  
  10559. #define IAMVideoCompression_AddRef(This)    \
  10560.     (This)->lpVtbl -> AddRef(This)
  10561.  
  10562. #define IAMVideoCompression_Release(This)    \
  10563.     (This)->lpVtbl -> Release(This)
  10564.  
  10565.  
  10566. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)    \
  10567.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  10568.  
  10569. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)    \
  10570.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  10571.  
  10572. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)    \
  10573.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  10574.  
  10575. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)    \
  10576.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  10577.  
  10578. #define IAMVideoCompression_put_Quality(This,Quality)    \
  10579.     (This)->lpVtbl -> put_Quality(This,Quality)
  10580.  
  10581. #define IAMVideoCompression_get_Quality(This,pQuality)    \
  10582.     (This)->lpVtbl -> get_Quality(This,pQuality)
  10583.  
  10584. #define IAMVideoCompression_put_WindowSize(This,WindowSize)    \
  10585.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  10586.  
  10587. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)    \
  10588.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  10589.  
  10590. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)    \
  10591.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  10592.  
  10593. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)    \
  10594.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  10595.  
  10596. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)    \
  10597.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  10598.  
  10599. #endif /* COBJMACROS */
  10600.  
  10601.  
  10602. #endif     /* C style interface */
  10603.  
  10604.  
  10605.  
  10606. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  10607.     IAMVideoCompression * This,
  10608.     /* [in] */ long KeyFrameRate);
  10609.  
  10610.  
  10611. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  10612.     IRpcStubBuffer *This,
  10613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10614.     PRPC_MESSAGE _pRpcMessage,
  10615.     DWORD *_pdwStubPhase);
  10616.  
  10617.  
  10618. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  10619.     IAMVideoCompression * This,
  10620.     /* [out] */ long *pKeyFrameRate);
  10621.  
  10622.  
  10623. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  10624.     IRpcStubBuffer *This,
  10625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10626.     PRPC_MESSAGE _pRpcMessage,
  10627.     DWORD *_pdwStubPhase);
  10628.  
  10629.  
  10630. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  10631.     IAMVideoCompression * This,
  10632.     /* [in] */ long PFramesPerKeyFrame);
  10633.  
  10634.  
  10635. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  10636.     IRpcStubBuffer *This,
  10637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10638.     PRPC_MESSAGE _pRpcMessage,
  10639.     DWORD *_pdwStubPhase);
  10640.  
  10641.  
  10642. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  10643.     IAMVideoCompression * This,
  10644.     /* [out] */ long *pPFramesPerKeyFrame);
  10645.  
  10646.  
  10647. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  10648.     IRpcStubBuffer *This,
  10649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10650.     PRPC_MESSAGE _pRpcMessage,
  10651.     DWORD *_pdwStubPhase);
  10652.  
  10653.  
  10654. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  10655.     IAMVideoCompression * This,
  10656.     /* [in] */ double Quality);
  10657.  
  10658.  
  10659. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  10660.     IRpcStubBuffer *This,
  10661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10662.     PRPC_MESSAGE _pRpcMessage,
  10663.     DWORD *_pdwStubPhase);
  10664.  
  10665.  
  10666. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  10667.     IAMVideoCompression * This,
  10668.     /* [out] */ double *pQuality);
  10669.  
  10670.  
  10671. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  10672.     IRpcStubBuffer *This,
  10673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10674.     PRPC_MESSAGE _pRpcMessage,
  10675.     DWORD *_pdwStubPhase);
  10676.  
  10677.  
  10678. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  10679.     IAMVideoCompression * This,
  10680.     /* [in] */ DWORDLONG WindowSize);
  10681.  
  10682.  
  10683. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  10684.     IRpcStubBuffer *This,
  10685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10686.     PRPC_MESSAGE _pRpcMessage,
  10687.     DWORD *_pdwStubPhase);
  10688.  
  10689.  
  10690. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  10691.     IAMVideoCompression * This,
  10692.     /* [out] */ DWORDLONG *pWindowSize);
  10693.  
  10694.  
  10695. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  10696.     IRpcStubBuffer *This,
  10697.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10698.     PRPC_MESSAGE _pRpcMessage,
  10699.     DWORD *_pdwStubPhase);
  10700.  
  10701.  
  10702. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  10703.     IAMVideoCompression * This,
  10704.     /* [size_is][out] */ WCHAR *pszVersion,
  10705.     /* [out][in] */ int *pcbVersion,
  10706.     /* [size_is][out] */ LPWSTR pszDescription,
  10707.     /* [out][in] */ int *pcbDescription,
  10708.     /* [out] */ long *pDefaultKeyFrameRate,
  10709.     /* [out] */ long *pDefaultPFramesPerKey,
  10710.     /* [out] */ double *pDefaultQuality,
  10711.     /* [out] */ long *pCapabilities);
  10712.  
  10713.  
  10714. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  10715.     IRpcStubBuffer *This,
  10716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10717.     PRPC_MESSAGE _pRpcMessage,
  10718.     DWORD *_pdwStubPhase);
  10719.  
  10720.  
  10721. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  10722.     IAMVideoCompression * This,
  10723.     /* [in] */ long FrameNumber);
  10724.  
  10725.  
  10726. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  10727.     IRpcStubBuffer *This,
  10728.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10729.     PRPC_MESSAGE _pRpcMessage,
  10730.     DWORD *_pdwStubPhase);
  10731.  
  10732.  
  10733. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  10734.     IAMVideoCompression * This,
  10735.     /* [in] */ long FrameNumber,
  10736.     /* [in] */ long Size);
  10737.  
  10738.  
  10739. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  10740.     IRpcStubBuffer *This,
  10741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10742.     PRPC_MESSAGE _pRpcMessage,
  10743.     DWORD *_pdwStubPhase);
  10744.  
  10745.  
  10746.  
  10747. #endif     /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  10748.  
  10749.  
  10750. /* interface __MIDL_itf_strmif_0163 */
  10751. /* [local] */ 
  10752.  
  10753. typedef /* [public] */ 
  10754. enum __MIDL___MIDL_itf_strmif_0163_0001
  10755.     {    VfwCaptureDialog_Source    = 0x1,
  10756.     VfwCaptureDialog_Format    = 0x2,
  10757.     VfwCaptureDialog_Display    = 0x4
  10758.     }     VfwCaptureDialogs;
  10759.  
  10760. typedef /* [public] */ 
  10761. enum __MIDL___MIDL_itf_strmif_0163_0002
  10762.     {    VfwCompressDialog_Config    = 0x1,
  10763.     VfwCompressDialog_About    = 0x2,
  10764.     VfwCompressDialog_QueryConfig    = 0x4,
  10765.     VfwCompressDialog_QueryAbout    = 0x8
  10766.     }     VfwCompressDialogs;
  10767.  
  10768.  
  10769.  
  10770. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_c_ifspec;
  10771. extern RPC_IF_HANDLE __MIDL_itf_strmif_0163_v0_0_s_ifspec;
  10772.  
  10773. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10774. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  10775.  
  10776. /* interface IAMVfwCaptureDialogs */
  10777. /* [unique][uuid][local][object] */ 
  10778.  
  10779.  
  10780. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  10781.  
  10782. #if defined(__cplusplus) && !defined(CINTERFACE)
  10783.     
  10784.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  10785.     IAMVfwCaptureDialogs : public IUnknown
  10786.     {
  10787.     public:
  10788.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  10789.             /* [in] */ int iDialog) = 0;
  10790.         
  10791.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10792.             /* [in] */ int iDialog,
  10793.             /* [in] */ HWND hwnd) = 0;
  10794.         
  10795.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10796.             /* [in] */ int iDialog,
  10797.             /* [in] */ int uMsg,
  10798.             /* [in] */ long dw1,
  10799.             /* [in] */ long dw2) = 0;
  10800.         
  10801.     };
  10802.     
  10803. #else     /* C style interface */
  10804.  
  10805.     typedef struct IAMVfwCaptureDialogsVtbl
  10806.     {
  10807.         BEGIN_INTERFACE
  10808.         
  10809.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10810.             IAMVfwCaptureDialogs * This,
  10811.             /* [in] */ REFIID riid,
  10812.             /* [iid_is][out] */ void **ppvObject);
  10813.         
  10814.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10815.             IAMVfwCaptureDialogs * This);
  10816.         
  10817.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10818.             IAMVfwCaptureDialogs * This);
  10819.         
  10820.         HRESULT ( STDMETHODCALLTYPE *HasDialog )( 
  10821.             IAMVfwCaptureDialogs * This,
  10822.             /* [in] */ int iDialog);
  10823.         
  10824.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10825.             IAMVfwCaptureDialogs * This,
  10826.             /* [in] */ int iDialog,
  10827.             /* [in] */ HWND hwnd);
  10828.         
  10829.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10830.             IAMVfwCaptureDialogs * This,
  10831.             /* [in] */ int iDialog,
  10832.             /* [in] */ int uMsg,
  10833.             /* [in] */ long dw1,
  10834.             /* [in] */ long dw2);
  10835.         
  10836.         END_INTERFACE
  10837.     } IAMVfwCaptureDialogsVtbl;
  10838.  
  10839.     interface IAMVfwCaptureDialogs
  10840.     {
  10841.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  10842.     };
  10843.  
  10844.     
  10845.  
  10846. #ifdef COBJMACROS
  10847.  
  10848.  
  10849. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)    \
  10850.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10851.  
  10852. #define IAMVfwCaptureDialogs_AddRef(This)    \
  10853.     (This)->lpVtbl -> AddRef(This)
  10854.  
  10855. #define IAMVfwCaptureDialogs_Release(This)    \
  10856.     (This)->lpVtbl -> Release(This)
  10857.  
  10858.  
  10859. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)    \
  10860.     (This)->lpVtbl -> HasDialog(This,iDialog)
  10861.  
  10862. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)    \
  10863.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  10864.  
  10865. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)    \
  10866.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  10867.  
  10868. #endif /* COBJMACROS */
  10869.  
  10870.  
  10871. #endif     /* C style interface */
  10872.  
  10873.  
  10874.  
  10875. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  10876.     IAMVfwCaptureDialogs * This,
  10877.     /* [in] */ int iDialog);
  10878.  
  10879.  
  10880. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  10881.     IRpcStubBuffer *This,
  10882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10883.     PRPC_MESSAGE _pRpcMessage,
  10884.     DWORD *_pdwStubPhase);
  10885.  
  10886.  
  10887. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  10888.     IAMVfwCaptureDialogs * This,
  10889.     /* [in] */ int iDialog,
  10890.     /* [in] */ HWND hwnd);
  10891.  
  10892.  
  10893. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  10894.     IRpcStubBuffer *This,
  10895.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10896.     PRPC_MESSAGE _pRpcMessage,
  10897.     DWORD *_pdwStubPhase);
  10898.  
  10899.  
  10900. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  10901.     IAMVfwCaptureDialogs * This,
  10902.     /* [in] */ int iDialog,
  10903.     /* [in] */ int uMsg,
  10904.     /* [in] */ long dw1,
  10905.     /* [in] */ long dw2);
  10906.  
  10907.  
  10908. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  10909.     IRpcStubBuffer *This,
  10910.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10911.     PRPC_MESSAGE _pRpcMessage,
  10912.     DWORD *_pdwStubPhase);
  10913.  
  10914.  
  10915.  
  10916. #endif     /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  10917.  
  10918.  
  10919. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10920. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  10921.  
  10922. /* interface IAMVfwCompressDialogs */
  10923. /* [unique][uuid][local][object] */ 
  10924.  
  10925.  
  10926. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  10927.  
  10928. #if defined(__cplusplus) && !defined(CINTERFACE)
  10929.     
  10930.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  10931.     IAMVfwCompressDialogs : public IUnknown
  10932.     {
  10933.     public:
  10934.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  10935.             /* [in] */ int iDialog,
  10936.             /* [in] */ HWND hwnd) = 0;
  10937.         
  10938.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  10939.             /* [size_is][out] */ LPVOID pState,
  10940.             /* [out][in] */ int *pcbState) = 0;
  10941.         
  10942.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  10943.             /* [size_is][in] */ LPVOID pState,
  10944.             /* [in] */ int cbState) = 0;
  10945.         
  10946.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  10947.             /* [in] */ int uMsg,
  10948.             /* [in] */ long dw1,
  10949.             /* [in] */ long dw2) = 0;
  10950.         
  10951.     };
  10952.     
  10953. #else     /* C style interface */
  10954.  
  10955.     typedef struct IAMVfwCompressDialogsVtbl
  10956.     {
  10957.         BEGIN_INTERFACE
  10958.         
  10959.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  10960.             IAMVfwCompressDialogs * This,
  10961.             /* [in] */ REFIID riid,
  10962.             /* [iid_is][out] */ void **ppvObject);
  10963.         
  10964.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  10965.             IAMVfwCompressDialogs * This);
  10966.         
  10967.         ULONG ( STDMETHODCALLTYPE *Release )( 
  10968.             IAMVfwCompressDialogs * This);
  10969.         
  10970.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  10971.             IAMVfwCompressDialogs * This,
  10972.             /* [in] */ int iDialog,
  10973.             /* [in] */ HWND hwnd);
  10974.         
  10975.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  10976.             IAMVfwCompressDialogs * This,
  10977.             /* [size_is][out] */ LPVOID pState,
  10978.             /* [out][in] */ int *pcbState);
  10979.         
  10980.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  10981.             IAMVfwCompressDialogs * This,
  10982.             /* [size_is][in] */ LPVOID pState,
  10983.             /* [in] */ int cbState);
  10984.         
  10985.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  10986.             IAMVfwCompressDialogs * This,
  10987.             /* [in] */ int uMsg,
  10988.             /* [in] */ long dw1,
  10989.             /* [in] */ long dw2);
  10990.         
  10991.         END_INTERFACE
  10992.     } IAMVfwCompressDialogsVtbl;
  10993.  
  10994.     interface IAMVfwCompressDialogs
  10995.     {
  10996.         CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  10997.     };
  10998.  
  10999.     
  11000.  
  11001. #ifdef COBJMACROS
  11002.  
  11003.  
  11004. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)    \
  11005.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11006.  
  11007. #define IAMVfwCompressDialogs_AddRef(This)    \
  11008.     (This)->lpVtbl -> AddRef(This)
  11009.  
  11010. #define IAMVfwCompressDialogs_Release(This)    \
  11011.     (This)->lpVtbl -> Release(This)
  11012.  
  11013.  
  11014. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)    \
  11015.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  11016.  
  11017. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)    \
  11018.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  11019.  
  11020. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)    \
  11021.     (This)->lpVtbl -> SetState(This,pState,cbState)
  11022.  
  11023. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)    \
  11024.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  11025.  
  11026. #endif /* COBJMACROS */
  11027.  
  11028.  
  11029. #endif     /* C style interface */
  11030.  
  11031.  
  11032.  
  11033. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  11034.     IAMVfwCompressDialogs * This,
  11035.     /* [in] */ int iDialog,
  11036.     /* [in] */ HWND hwnd);
  11037.  
  11038.  
  11039. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  11040.     IRpcStubBuffer *This,
  11041.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11042.     PRPC_MESSAGE _pRpcMessage,
  11043.     DWORD *_pdwStubPhase);
  11044.  
  11045.  
  11046. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  11047.     IAMVfwCompressDialogs * This,
  11048.     /* [size_is][out] */ LPVOID pState,
  11049.     /* [out][in] */ int *pcbState);
  11050.  
  11051.  
  11052. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  11053.     IRpcStubBuffer *This,
  11054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11055.     PRPC_MESSAGE _pRpcMessage,
  11056.     DWORD *_pdwStubPhase);
  11057.  
  11058.  
  11059. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  11060.     IAMVfwCompressDialogs * This,
  11061.     /* [size_is][in] */ LPVOID pState,
  11062.     /* [in] */ int cbState);
  11063.  
  11064.  
  11065. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  11066.     IRpcStubBuffer *This,
  11067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11068.     PRPC_MESSAGE _pRpcMessage,
  11069.     DWORD *_pdwStubPhase);
  11070.  
  11071.  
  11072. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  11073.     IAMVfwCompressDialogs * This,
  11074.     /* [in] */ int uMsg,
  11075.     /* [in] */ long dw1,
  11076.     /* [in] */ long dw2);
  11077.  
  11078.  
  11079. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  11080.     IRpcStubBuffer *This,
  11081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11082.     PRPC_MESSAGE _pRpcMessage,
  11083.     DWORD *_pdwStubPhase);
  11084.  
  11085.  
  11086.  
  11087. #endif     /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  11088.  
  11089.  
  11090. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  11091. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  11092.  
  11093. /* interface IAMDroppedFrames */
  11094. /* [unique][uuid][object] */ 
  11095.  
  11096.  
  11097. EXTERN_C const IID IID_IAMDroppedFrames;
  11098.  
  11099. #if defined(__cplusplus) && !defined(CINTERFACE)
  11100.     
  11101.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  11102.     IAMDroppedFrames : public IUnknown
  11103.     {
  11104.     public:
  11105.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  11106.             /* [out] */ long *plDropped) = 0;
  11107.         
  11108.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  11109.             /* [out] */ long *plNotDropped) = 0;
  11110.         
  11111.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  11112.             /* [in] */ long lSize,
  11113.             /* [out] */ long *plArray,
  11114.             /* [out] */ long *plNumCopied) = 0;
  11115.         
  11116.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  11117.             /* [out] */ long *plAverageSize) = 0;
  11118.         
  11119.     };
  11120.     
  11121. #else     /* C style interface */
  11122.  
  11123.     typedef struct IAMDroppedFramesVtbl
  11124.     {
  11125.         BEGIN_INTERFACE
  11126.         
  11127.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11128.             IAMDroppedFrames * This,
  11129.             /* [in] */ REFIID riid,
  11130.             /* [iid_is][out] */ void **ppvObject);
  11131.         
  11132.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11133.             IAMDroppedFrames * This);
  11134.         
  11135.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11136.             IAMDroppedFrames * This);
  11137.         
  11138.         HRESULT ( STDMETHODCALLTYPE *GetNumDropped )( 
  11139.             IAMDroppedFrames * This,
  11140.             /* [out] */ long *plDropped);
  11141.         
  11142.         HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )( 
  11143.             IAMDroppedFrames * This,
  11144.             /* [out] */ long *plNotDropped);
  11145.         
  11146.         HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )( 
  11147.             IAMDroppedFrames * This,
  11148.             /* [in] */ long lSize,
  11149.             /* [out] */ long *plArray,
  11150.             /* [out] */ long *plNumCopied);
  11151.         
  11152.         HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )( 
  11153.             IAMDroppedFrames * This,
  11154.             /* [out] */ long *plAverageSize);
  11155.         
  11156.         END_INTERFACE
  11157.     } IAMDroppedFramesVtbl;
  11158.  
  11159.     interface IAMDroppedFrames
  11160.     {
  11161.         CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  11162.     };
  11163.  
  11164.     
  11165.  
  11166. #ifdef COBJMACROS
  11167.  
  11168.  
  11169. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)    \
  11170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11171.  
  11172. #define IAMDroppedFrames_AddRef(This)    \
  11173.     (This)->lpVtbl -> AddRef(This)
  11174.  
  11175. #define IAMDroppedFrames_Release(This)    \
  11176.     (This)->lpVtbl -> Release(This)
  11177.  
  11178.  
  11179. #define IAMDroppedFrames_GetNumDropped(This,plDropped)    \
  11180.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  11181.  
  11182. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)    \
  11183.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  11184.  
  11185. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)    \
  11186.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  11187.  
  11188. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)    \
  11189.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  11190.  
  11191. #endif /* COBJMACROS */
  11192.  
  11193.  
  11194. #endif     /* C style interface */
  11195.  
  11196.  
  11197.  
  11198. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  11199.     IAMDroppedFrames * This,
  11200.     /* [out] */ long *plDropped);
  11201.  
  11202.  
  11203. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  11204.     IRpcStubBuffer *This,
  11205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11206.     PRPC_MESSAGE _pRpcMessage,
  11207.     DWORD *_pdwStubPhase);
  11208.  
  11209.  
  11210. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  11211.     IAMDroppedFrames * This,
  11212.     /* [out] */ long *plNotDropped);
  11213.  
  11214.  
  11215. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  11216.     IRpcStubBuffer *This,
  11217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11218.     PRPC_MESSAGE _pRpcMessage,
  11219.     DWORD *_pdwStubPhase);
  11220.  
  11221.  
  11222. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  11223.     IAMDroppedFrames * This,
  11224.     /* [in] */ long lSize,
  11225.     /* [out] */ long *plArray,
  11226.     /* [out] */ long *plNumCopied);
  11227.  
  11228.  
  11229. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  11230.     IRpcStubBuffer *This,
  11231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11232.     PRPC_MESSAGE _pRpcMessage,
  11233.     DWORD *_pdwStubPhase);
  11234.  
  11235.  
  11236. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  11237.     IAMDroppedFrames * This,
  11238.     /* [out] */ long *plAverageSize);
  11239.  
  11240.  
  11241. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  11242.     IRpcStubBuffer *This,
  11243.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11244.     PRPC_MESSAGE _pRpcMessage,
  11245.     DWORD *_pdwStubPhase);
  11246.  
  11247.  
  11248.  
  11249. #endif     /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  11250.  
  11251.  
  11252. /* interface __MIDL_itf_strmif_0166 */
  11253. /* [local] */ 
  11254.  
  11255. #define AMF_AUTOMATICGAIN -1.0
  11256.  
  11257.  
  11258. extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_c_ifspec;
  11259. extern RPC_IF_HANDLE __MIDL_itf_strmif_0166_v0_0_s_ifspec;
  11260.  
  11261. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  11262. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  11263.  
  11264. /* interface IAMAudioInputMixer */
  11265. /* [unique][uuid][object] */ 
  11266.  
  11267.  
  11268. EXTERN_C const IID IID_IAMAudioInputMixer;
  11269.  
  11270. #if defined(__cplusplus) && !defined(CINTERFACE)
  11271.     
  11272.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  11273.     IAMAudioInputMixer : public IUnknown
  11274.     {
  11275.     public:
  11276.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  11277.             /* [in] */ BOOL fEnable) = 0;
  11278.         
  11279.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  11280.             /* [out] */ BOOL *pfEnable) = 0;
  11281.         
  11282.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  11283.             /* [in] */ BOOL fMono) = 0;
  11284.         
  11285.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  11286.             /* [out] */ BOOL *pfMono) = 0;
  11287.         
  11288.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  11289.             /* [in] */ double Level) = 0;
  11290.         
  11291.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  11292.             /* [out] */ double *pLevel) = 0;
  11293.         
  11294.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  11295.             /* [in] */ double Pan) = 0;
  11296.         
  11297.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  11298.             /* [out] */ double *pPan) = 0;
  11299.         
  11300.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  11301.             /* [in] */ BOOL fLoudness) = 0;
  11302.         
  11303.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  11304.             /* [out] */ BOOL *pfLoudness) = 0;
  11305.         
  11306.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  11307.             /* [in] */ double Treble) = 0;
  11308.         
  11309.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  11310.             /* [out] */ double *pTreble) = 0;
  11311.         
  11312.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  11313.             /* [out] */ double *pRange) = 0;
  11314.         
  11315.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  11316.             /* [in] */ double Bass) = 0;
  11317.         
  11318.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  11319.             /* [out] */ double *pBass) = 0;
  11320.         
  11321.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  11322.             /* [out] */ double *pRange) = 0;
  11323.         
  11324.     };
  11325.     
  11326. #else     /* C style interface */
  11327.  
  11328.     typedef struct IAMAudioInputMixerVtbl
  11329.     {
  11330.         BEGIN_INTERFACE
  11331.         
  11332.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11333.             IAMAudioInputMixer * This,
  11334.             /* [in] */ REFIID riid,
  11335.             /* [iid_is][out] */ void **ppvObject);
  11336.         
  11337.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11338.             IAMAudioInputMixer * This);
  11339.         
  11340.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11341.             IAMAudioInputMixer * This);
  11342.         
  11343.         HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  11344.             IAMAudioInputMixer * This,
  11345.             /* [in] */ BOOL fEnable);
  11346.         
  11347.         HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  11348.             IAMAudioInputMixer * This,
  11349.             /* [out] */ BOOL *pfEnable);
  11350.         
  11351.         HRESULT ( STDMETHODCALLTYPE *put_Mono )( 
  11352.             IAMAudioInputMixer * This,
  11353.             /* [in] */ BOOL fMono);
  11354.         
  11355.         HRESULT ( STDMETHODCALLTYPE *get_Mono )( 
  11356.             IAMAudioInputMixer * This,
  11357.             /* [out] */ BOOL *pfMono);
  11358.         
  11359.         HRESULT ( STDMETHODCALLTYPE *put_MixLevel )( 
  11360.             IAMAudioInputMixer * This,
  11361.             /* [in] */ double Level);
  11362.         
  11363.         HRESULT ( STDMETHODCALLTYPE *get_MixLevel )( 
  11364.             IAMAudioInputMixer * This,
  11365.             /* [out] */ double *pLevel);
  11366.         
  11367.         HRESULT ( STDMETHODCALLTYPE *put_Pan )( 
  11368.             IAMAudioInputMixer * This,
  11369.             /* [in] */ double Pan);
  11370.         
  11371.         HRESULT ( STDMETHODCALLTYPE *get_Pan )( 
  11372.             IAMAudioInputMixer * This,
  11373.             /* [out] */ double *pPan);
  11374.         
  11375.         HRESULT ( STDMETHODCALLTYPE *put_Loudness )( 
  11376.             IAMAudioInputMixer * This,
  11377.             /* [in] */ BOOL fLoudness);
  11378.         
  11379.         HRESULT ( STDMETHODCALLTYPE *get_Loudness )( 
  11380.             IAMAudioInputMixer * This,
  11381.             /* [out] */ BOOL *pfLoudness);
  11382.         
  11383.         HRESULT ( STDMETHODCALLTYPE *put_Treble )( 
  11384.             IAMAudioInputMixer * This,
  11385.             /* [in] */ double Treble);
  11386.         
  11387.         HRESULT ( STDMETHODCALLTYPE *get_Treble )( 
  11388.             IAMAudioInputMixer * This,
  11389.             /* [out] */ double *pTreble);
  11390.         
  11391.         HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )( 
  11392.             IAMAudioInputMixer * This,
  11393.             /* [out] */ double *pRange);
  11394.         
  11395.         HRESULT ( STDMETHODCALLTYPE *put_Bass )( 
  11396.             IAMAudioInputMixer * This,
  11397.             /* [in] */ double Bass);
  11398.         
  11399.         HRESULT ( STDMETHODCALLTYPE *get_Bass )( 
  11400.             IAMAudioInputMixer * This,
  11401.             /* [out] */ double *pBass);
  11402.         
  11403.         HRESULT ( STDMETHODCALLTYPE *get_BassRange )( 
  11404.             IAMAudioInputMixer * This,
  11405.             /* [out] */ double *pRange);
  11406.         
  11407.         END_INTERFACE
  11408.     } IAMAudioInputMixerVtbl;
  11409.  
  11410.     interface IAMAudioInputMixer
  11411.     {
  11412.         CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  11413.     };
  11414.  
  11415.     
  11416.  
  11417. #ifdef COBJMACROS
  11418.  
  11419.  
  11420. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)    \
  11421.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11422.  
  11423. #define IAMAudioInputMixer_AddRef(This)    \
  11424.     (This)->lpVtbl -> AddRef(This)
  11425.  
  11426. #define IAMAudioInputMixer_Release(This)    \
  11427.     (This)->lpVtbl -> Release(This)
  11428.  
  11429.  
  11430. #define IAMAudioInputMixer_put_Enable(This,fEnable)    \
  11431.     (This)->lpVtbl -> put_Enable(This,fEnable)
  11432.  
  11433. #define IAMAudioInputMixer_get_Enable(This,pfEnable)    \
  11434.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  11435.  
  11436. #define IAMAudioInputMixer_put_Mono(This,fMono)    \
  11437.     (This)->lpVtbl -> put_Mono(This,fMono)
  11438.  
  11439. #define IAMAudioInputMixer_get_Mono(This,pfMono)    \
  11440.     (This)->lpVtbl -> get_Mono(This,pfMono)
  11441.  
  11442. #define IAMAudioInputMixer_put_MixLevel(This,Level)    \
  11443.     (This)->lpVtbl -> put_MixLevel(This,Level)
  11444.  
  11445. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)    \
  11446.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  11447.  
  11448. #define IAMAudioInputMixer_put_Pan(This,Pan)    \
  11449.     (This)->lpVtbl -> put_Pan(This,Pan)
  11450.  
  11451. #define IAMAudioInputMixer_get_Pan(This,pPan)    \
  11452.     (This)->lpVtbl -> get_Pan(This,pPan)
  11453.  
  11454. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)    \
  11455.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  11456.  
  11457. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)    \
  11458.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  11459.  
  11460. #define IAMAudioInputMixer_put_Treble(This,Treble)    \
  11461.     (This)->lpVtbl -> put_Treble(This,Treble)
  11462.  
  11463. #define IAMAudioInputMixer_get_Treble(This,pTreble)    \
  11464.     (This)->lpVtbl -> get_Treble(This,pTreble)
  11465.  
  11466. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)    \
  11467.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  11468.  
  11469. #define IAMAudioInputMixer_put_Bass(This,Bass)    \
  11470.     (This)->lpVtbl -> put_Bass(This,Bass)
  11471.  
  11472. #define IAMAudioInputMixer_get_Bass(This,pBass)    \
  11473.     (This)->lpVtbl -> get_Bass(This,pBass)
  11474.  
  11475. #define IAMAudioInputMixer_get_BassRange(This,pRange)    \
  11476.     (This)->lpVtbl -> get_BassRange(This,pRange)
  11477.  
  11478. #endif /* COBJMACROS */
  11479.  
  11480.  
  11481. #endif     /* C style interface */
  11482.  
  11483.  
  11484.  
  11485. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  11486.     IAMAudioInputMixer * This,
  11487.     /* [in] */ BOOL fEnable);
  11488.  
  11489.  
  11490. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  11491.     IRpcStubBuffer *This,
  11492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11493.     PRPC_MESSAGE _pRpcMessage,
  11494.     DWORD *_pdwStubPhase);
  11495.  
  11496.  
  11497. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  11498.     IAMAudioInputMixer * This,
  11499.     /* [out] */ BOOL *pfEnable);
  11500.  
  11501.  
  11502. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  11503.     IRpcStubBuffer *This,
  11504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11505.     PRPC_MESSAGE _pRpcMessage,
  11506.     DWORD *_pdwStubPhase);
  11507.  
  11508.  
  11509. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  11510.     IAMAudioInputMixer * This,
  11511.     /* [in] */ BOOL fMono);
  11512.  
  11513.  
  11514. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  11515.     IRpcStubBuffer *This,
  11516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11517.     PRPC_MESSAGE _pRpcMessage,
  11518.     DWORD *_pdwStubPhase);
  11519.  
  11520.  
  11521. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  11522.     IAMAudioInputMixer * This,
  11523.     /* [out] */ BOOL *pfMono);
  11524.  
  11525.  
  11526. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  11527.     IRpcStubBuffer *This,
  11528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11529.     PRPC_MESSAGE _pRpcMessage,
  11530.     DWORD *_pdwStubPhase);
  11531.  
  11532.  
  11533. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  11534.     IAMAudioInputMixer * This,
  11535.     /* [in] */ double Level);
  11536.  
  11537.  
  11538. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  11539.     IRpcStubBuffer *This,
  11540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11541.     PRPC_MESSAGE _pRpcMessage,
  11542.     DWORD *_pdwStubPhase);
  11543.  
  11544.  
  11545. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  11546.     IAMAudioInputMixer * This,
  11547.     /* [out] */ double *pLevel);
  11548.  
  11549.  
  11550. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  11551.     IRpcStubBuffer *This,
  11552.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11553.     PRPC_MESSAGE _pRpcMessage,
  11554.     DWORD *_pdwStubPhase);
  11555.  
  11556.  
  11557. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  11558.     IAMAudioInputMixer * This,
  11559.     /* [in] */ double Pan);
  11560.  
  11561.  
  11562. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  11563.     IRpcStubBuffer *This,
  11564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11565.     PRPC_MESSAGE _pRpcMessage,
  11566.     DWORD *_pdwStubPhase);
  11567.  
  11568.  
  11569. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  11570.     IAMAudioInputMixer * This,
  11571.     /* [out] */ double *pPan);
  11572.  
  11573.  
  11574. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  11575.     IRpcStubBuffer *This,
  11576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11577.     PRPC_MESSAGE _pRpcMessage,
  11578.     DWORD *_pdwStubPhase);
  11579.  
  11580.  
  11581. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  11582.     IAMAudioInputMixer * This,
  11583.     /* [in] */ BOOL fLoudness);
  11584.  
  11585.  
  11586. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  11587.     IRpcStubBuffer *This,
  11588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11589.     PRPC_MESSAGE _pRpcMessage,
  11590.     DWORD *_pdwStubPhase);
  11591.  
  11592.  
  11593. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  11594.     IAMAudioInputMixer * This,
  11595.     /* [out] */ BOOL *pfLoudness);
  11596.  
  11597.  
  11598. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  11599.     IRpcStubBuffer *This,
  11600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11601.     PRPC_MESSAGE _pRpcMessage,
  11602.     DWORD *_pdwStubPhase);
  11603.  
  11604.  
  11605. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  11606.     IAMAudioInputMixer * This,
  11607.     /* [in] */ double Treble);
  11608.  
  11609.  
  11610. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  11611.     IRpcStubBuffer *This,
  11612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11613.     PRPC_MESSAGE _pRpcMessage,
  11614.     DWORD *_pdwStubPhase);
  11615.  
  11616.  
  11617. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  11618.     IAMAudioInputMixer * This,
  11619.     /* [out] */ double *pTreble);
  11620.  
  11621.  
  11622. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  11623.     IRpcStubBuffer *This,
  11624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11625.     PRPC_MESSAGE _pRpcMessage,
  11626.     DWORD *_pdwStubPhase);
  11627.  
  11628.  
  11629. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  11630.     IAMAudioInputMixer * This,
  11631.     /* [out] */ double *pRange);
  11632.  
  11633.  
  11634. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  11635.     IRpcStubBuffer *This,
  11636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11637.     PRPC_MESSAGE _pRpcMessage,
  11638.     DWORD *_pdwStubPhase);
  11639.  
  11640.  
  11641. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  11642.     IAMAudioInputMixer * This,
  11643.     /* [in] */ double Bass);
  11644.  
  11645.  
  11646. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  11647.     IRpcStubBuffer *This,
  11648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11649.     PRPC_MESSAGE _pRpcMessage,
  11650.     DWORD *_pdwStubPhase);
  11651.  
  11652.  
  11653. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  11654.     IAMAudioInputMixer * This,
  11655.     /* [out] */ double *pBass);
  11656.  
  11657.  
  11658. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  11659.     IRpcStubBuffer *This,
  11660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11661.     PRPC_MESSAGE _pRpcMessage,
  11662.     DWORD *_pdwStubPhase);
  11663.  
  11664.  
  11665. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  11666.     IAMAudioInputMixer * This,
  11667.     /* [out] */ double *pRange);
  11668.  
  11669.  
  11670. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  11671.     IRpcStubBuffer *This,
  11672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11673.     PRPC_MESSAGE _pRpcMessage,
  11674.     DWORD *_pdwStubPhase);
  11675.  
  11676.  
  11677.  
  11678. #endif     /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  11679.  
  11680.  
  11681. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  11682. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  11683.  
  11684. /* interface IAMBufferNegotiation */
  11685. /* [unique][uuid][object] */ 
  11686.  
  11687.  
  11688. EXTERN_C const IID IID_IAMBufferNegotiation;
  11689.  
  11690. #if defined(__cplusplus) && !defined(CINTERFACE)
  11691.     
  11692.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  11693.     IAMBufferNegotiation : public IUnknown
  11694.     {
  11695.     public:
  11696.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  11697.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  11698.         
  11699.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  11700.             /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  11701.         
  11702.     };
  11703.     
  11704. #else     /* C style interface */
  11705.  
  11706.     typedef struct IAMBufferNegotiationVtbl
  11707.     {
  11708.         BEGIN_INTERFACE
  11709.         
  11710.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11711.             IAMBufferNegotiation * This,
  11712.             /* [in] */ REFIID riid,
  11713.             /* [iid_is][out] */ void **ppvObject);
  11714.         
  11715.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11716.             IAMBufferNegotiation * This);
  11717.         
  11718.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11719.             IAMBufferNegotiation * This);
  11720.         
  11721.         HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )( 
  11722.             IAMBufferNegotiation * This,
  11723.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11724.         
  11725.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )( 
  11726.             IAMBufferNegotiation * This,
  11727.             /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11728.         
  11729.         END_INTERFACE
  11730.     } IAMBufferNegotiationVtbl;
  11731.  
  11732.     interface IAMBufferNegotiation
  11733.     {
  11734.         CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  11735.     };
  11736.  
  11737.     
  11738.  
  11739. #ifdef COBJMACROS
  11740.  
  11741.  
  11742. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)    \
  11743.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11744.  
  11745. #define IAMBufferNegotiation_AddRef(This)    \
  11746.     (This)->lpVtbl -> AddRef(This)
  11747.  
  11748. #define IAMBufferNegotiation_Release(This)    \
  11749.     (This)->lpVtbl -> Release(This)
  11750.  
  11751.  
  11752. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)    \
  11753.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  11754.  
  11755. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)    \
  11756.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  11757.  
  11758. #endif /* COBJMACROS */
  11759.  
  11760.  
  11761. #endif     /* C style interface */
  11762.  
  11763.  
  11764.  
  11765. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  11766.     IAMBufferNegotiation * This,
  11767.     /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  11768.  
  11769.  
  11770. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  11771.     IRpcStubBuffer *This,
  11772.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11773.     PRPC_MESSAGE _pRpcMessage,
  11774.     DWORD *_pdwStubPhase);
  11775.  
  11776.  
  11777. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  11778.     IAMBufferNegotiation * This,
  11779.     /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  11780.  
  11781.  
  11782. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  11783.     IRpcStubBuffer *This,
  11784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11785.     PRPC_MESSAGE _pRpcMessage,
  11786.     DWORD *_pdwStubPhase);
  11787.  
  11788.  
  11789.  
  11790. #endif     /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  11791.  
  11792.  
  11793. /* interface __MIDL_itf_strmif_0168 */
  11794. /* [local] */ 
  11795.  
  11796. typedef 
  11797. enum tagAnalogVideoStandard
  11798.     {    AnalogVideo_None    = 0,
  11799.     AnalogVideo_NTSC_M    = 0x1,
  11800.     AnalogVideo_NTSC_M_J    = 0x2,
  11801.     AnalogVideo_NTSC_433    = 0x4,
  11802.     AnalogVideo_PAL_B    = 0x10,
  11803.     AnalogVideo_PAL_D    = 0x20,
  11804.     AnalogVideo_PAL_G    = 0x40,
  11805.     AnalogVideo_PAL_H    = 0x80,
  11806.     AnalogVideo_PAL_I    = 0x100,
  11807.     AnalogVideo_PAL_M    = 0x200,
  11808.     AnalogVideo_PAL_N    = 0x400,
  11809.     AnalogVideo_PAL_60    = 0x800,
  11810.     AnalogVideo_SECAM_B    = 0x1000,
  11811.     AnalogVideo_SECAM_D    = 0x2000,
  11812.     AnalogVideo_SECAM_G    = 0x4000,
  11813.     AnalogVideo_SECAM_H    = 0x8000,
  11814.     AnalogVideo_SECAM_K    = 0x10000,
  11815.     AnalogVideo_SECAM_K1    = 0x20000,
  11816.     AnalogVideo_SECAM_L    = 0x40000,
  11817.     AnalogVideo_SECAM_L1    = 0x80000,
  11818.     AnalogVideo_PAL_N_COMBO    = 0x100000
  11819.     }     AnalogVideoStandard;
  11820.  
  11821. #define AnalogVideo_NTSC_Mask  0x00000007
  11822. #define AnalogVideo_PAL_Mask   0x00100FF0
  11823. #define AnalogVideo_SECAM_Mask 0x000FF000
  11824. typedef 
  11825. enum tagTunerInputType
  11826.     {    TunerInputCable    = 0,
  11827.     TunerInputAntenna    = TunerInputCable + 1
  11828.     }     TunerInputType;
  11829.  
  11830. typedef /* [public] */ 
  11831. enum __MIDL___MIDL_itf_strmif_0168_0001
  11832.     {    VideoCopyProtectionMacrovisionBasic    = 0,
  11833.     VideoCopyProtectionMacrovisionCBI    = VideoCopyProtectionMacrovisionBasic + 1
  11834.     }     VideoCopyProtectionType;
  11835.  
  11836. typedef 
  11837. enum tagPhysicalConnectorType
  11838.     {    PhysConn_Video_Tuner    = 1,
  11839.     PhysConn_Video_Composite    = PhysConn_Video_Tuner + 1,
  11840.     PhysConn_Video_SVideo    = PhysConn_Video_Composite + 1,
  11841.     PhysConn_Video_RGB    = PhysConn_Video_SVideo + 1,
  11842.     PhysConn_Video_YRYBY    = PhysConn_Video_RGB + 1,
  11843.     PhysConn_Video_SerialDigital    = PhysConn_Video_YRYBY + 1,
  11844.     PhysConn_Video_ParallelDigital    = PhysConn_Video_SerialDigital + 1,
  11845.     PhysConn_Video_SCSI    = PhysConn_Video_ParallelDigital + 1,
  11846.     PhysConn_Video_AUX    = PhysConn_Video_SCSI + 1,
  11847.     PhysConn_Video_1394    = PhysConn_Video_AUX + 1,
  11848.     PhysConn_Video_USB    = PhysConn_Video_1394 + 1,
  11849.     PhysConn_Video_VideoDecoder    = PhysConn_Video_USB + 1,
  11850.     PhysConn_Video_VideoEncoder    = PhysConn_Video_VideoDecoder + 1,
  11851.     PhysConn_Video_SCART    = PhysConn_Video_VideoEncoder + 1,
  11852.     PhysConn_Video_Black    = PhysConn_Video_SCART + 1,
  11853.     PhysConn_Audio_Tuner    = 0x1000,
  11854.     PhysConn_Audio_Line    = PhysConn_Audio_Tuner + 1,
  11855.     PhysConn_Audio_Mic    = PhysConn_Audio_Line + 1,
  11856.     PhysConn_Audio_AESDigital    = PhysConn_Audio_Mic + 1,
  11857.     PhysConn_Audio_SPDIFDigital    = PhysConn_Audio_AESDigital + 1,
  11858.     PhysConn_Audio_SCSI    = PhysConn_Audio_SPDIFDigital + 1,
  11859.     PhysConn_Audio_AUX    = PhysConn_Audio_SCSI + 1,
  11860.     PhysConn_Audio_1394    = PhysConn_Audio_AUX + 1,
  11861.     PhysConn_Audio_USB    = PhysConn_Audio_1394 + 1,
  11862.     PhysConn_Audio_AudioDecoder    = PhysConn_Audio_USB + 1
  11863.     }     PhysicalConnectorType;
  11864.  
  11865.  
  11866.  
  11867. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
  11868. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
  11869.  
  11870. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11871. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  11872.  
  11873. /* interface IAMAnalogVideoDecoder */
  11874. /* [unique][uuid][object] */ 
  11875.  
  11876.  
  11877. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  11878.  
  11879. #if defined(__cplusplus) && !defined(CINTERFACE)
  11880.     
  11881.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  11882.     IAMAnalogVideoDecoder : public IUnknown
  11883.     {
  11884.     public:
  11885.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  11886.             /* [out] */ long *lAnalogVideoStandard) = 0;
  11887.         
  11888.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  11889.             /* [in] */ long lAnalogVideoStandard) = 0;
  11890.         
  11891.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  11892.             /* [out] */ long *plAnalogVideoStandard) = 0;
  11893.         
  11894.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  11895.             /* [out] */ long *plLocked) = 0;
  11896.         
  11897.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  11898.             /* [in] */ long lVCRHorizontalLocking) = 0;
  11899.         
  11900.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  11901.             /* [out] */ long *plVCRHorizontalLocking) = 0;
  11902.         
  11903.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  11904.             /* [out] */ long *plNumberOfLines) = 0;
  11905.         
  11906.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  11907.             /* [in] */ long lOutputEnable) = 0;
  11908.         
  11909.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  11910.             /* [out] */ long *plOutputEnable) = 0;
  11911.         
  11912.     };
  11913.     
  11914. #else     /* C style interface */
  11915.  
  11916.     typedef struct IAMAnalogVideoDecoderVtbl
  11917.     {
  11918.         BEGIN_INTERFACE
  11919.         
  11920.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  11921.             IAMAnalogVideoDecoder * This,
  11922.             /* [in] */ REFIID riid,
  11923.             /* [iid_is][out] */ void **ppvObject);
  11924.         
  11925.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  11926.             IAMAnalogVideoDecoder * This);
  11927.         
  11928.         ULONG ( STDMETHODCALLTYPE *Release )( 
  11929.             IAMAnalogVideoDecoder * This);
  11930.         
  11931.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  11932.             IAMAnalogVideoDecoder * This,
  11933.             /* [out] */ long *lAnalogVideoStandard);
  11934.         
  11935.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  11936.             IAMAnalogVideoDecoder * This,
  11937.             /* [in] */ long lAnalogVideoStandard);
  11938.         
  11939.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  11940.             IAMAnalogVideoDecoder * This,
  11941.             /* [out] */ long *plAnalogVideoStandard);
  11942.         
  11943.         HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )( 
  11944.             IAMAnalogVideoDecoder * This,
  11945.             /* [out] */ long *plLocked);
  11946.         
  11947.         HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )( 
  11948.             IAMAnalogVideoDecoder * This,
  11949.             /* [in] */ long lVCRHorizontalLocking);
  11950.         
  11951.         HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )( 
  11952.             IAMAnalogVideoDecoder * This,
  11953.             /* [out] */ long *plVCRHorizontalLocking);
  11954.         
  11955.         HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )( 
  11956.             IAMAnalogVideoDecoder * This,
  11957.             /* [out] */ long *plNumberOfLines);
  11958.         
  11959.         HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )( 
  11960.             IAMAnalogVideoDecoder * This,
  11961.             /* [in] */ long lOutputEnable);
  11962.         
  11963.         HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )( 
  11964.             IAMAnalogVideoDecoder * This,
  11965.             /* [out] */ long *plOutputEnable);
  11966.         
  11967.         END_INTERFACE
  11968.     } IAMAnalogVideoDecoderVtbl;
  11969.  
  11970.     interface IAMAnalogVideoDecoder
  11971.     {
  11972.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  11973.     };
  11974.  
  11975.     
  11976.  
  11977. #ifdef COBJMACROS
  11978.  
  11979.  
  11980. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)    \
  11981.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11982.  
  11983. #define IAMAnalogVideoDecoder_AddRef(This)    \
  11984.     (This)->lpVtbl -> AddRef(This)
  11985.  
  11986. #define IAMAnalogVideoDecoder_Release(This)    \
  11987.     (This)->lpVtbl -> Release(This)
  11988.  
  11989.  
  11990. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  11991.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  11992.  
  11993. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)    \
  11994.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  11995.  
  11996. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)    \
  11997.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  11998.  
  11999. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)    \
  12000.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  12001.  
  12002. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)    \
  12003.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  12004.  
  12005. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)    \
  12006.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  12007.  
  12008. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)    \
  12009.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  12010.  
  12011. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)    \
  12012.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  12013.  
  12014. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)    \
  12015.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  12016.  
  12017. #endif /* COBJMACROS */
  12018.  
  12019.  
  12020. #endif     /* C style interface */
  12021.  
  12022.  
  12023.  
  12024. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  12025.     IAMAnalogVideoDecoder * This,
  12026.     /* [out] */ long *lAnalogVideoStandard);
  12027.  
  12028.  
  12029. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  12030.     IRpcStubBuffer *This,
  12031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12032.     PRPC_MESSAGE _pRpcMessage,
  12033.     DWORD *_pdwStubPhase);
  12034.  
  12035.  
  12036. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  12037.     IAMAnalogVideoDecoder * This,
  12038.     /* [in] */ long lAnalogVideoStandard);
  12039.  
  12040.  
  12041. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  12042.     IRpcStubBuffer *This,
  12043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12044.     PRPC_MESSAGE _pRpcMessage,
  12045.     DWORD *_pdwStubPhase);
  12046.  
  12047.  
  12048. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  12049.     IAMAnalogVideoDecoder * This,
  12050.     /* [out] */ long *plAnalogVideoStandard);
  12051.  
  12052.  
  12053. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  12054.     IRpcStubBuffer *This,
  12055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12056.     PRPC_MESSAGE _pRpcMessage,
  12057.     DWORD *_pdwStubPhase);
  12058.  
  12059.  
  12060. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  12061.     IAMAnalogVideoDecoder * This,
  12062.     /* [out] */ long *plLocked);
  12063.  
  12064.  
  12065. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  12066.     IRpcStubBuffer *This,
  12067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12068.     PRPC_MESSAGE _pRpcMessage,
  12069.     DWORD *_pdwStubPhase);
  12070.  
  12071.  
  12072. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  12073.     IAMAnalogVideoDecoder * This,
  12074.     /* [in] */ long lVCRHorizontalLocking);
  12075.  
  12076.  
  12077. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  12078.     IRpcStubBuffer *This,
  12079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12080.     PRPC_MESSAGE _pRpcMessage,
  12081.     DWORD *_pdwStubPhase);
  12082.  
  12083.  
  12084. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  12085.     IAMAnalogVideoDecoder * This,
  12086.     /* [out] */ long *plVCRHorizontalLocking);
  12087.  
  12088.  
  12089. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  12090.     IRpcStubBuffer *This,
  12091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12092.     PRPC_MESSAGE _pRpcMessage,
  12093.     DWORD *_pdwStubPhase);
  12094.  
  12095.  
  12096. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  12097.     IAMAnalogVideoDecoder * This,
  12098.     /* [out] */ long *plNumberOfLines);
  12099.  
  12100.  
  12101. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  12102.     IRpcStubBuffer *This,
  12103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12104.     PRPC_MESSAGE _pRpcMessage,
  12105.     DWORD *_pdwStubPhase);
  12106.  
  12107.  
  12108. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  12109.     IAMAnalogVideoDecoder * This,
  12110.     /* [in] */ long lOutputEnable);
  12111.  
  12112.  
  12113. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  12114.     IRpcStubBuffer *This,
  12115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12116.     PRPC_MESSAGE _pRpcMessage,
  12117.     DWORD *_pdwStubPhase);
  12118.  
  12119.  
  12120. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  12121.     IAMAnalogVideoDecoder * This,
  12122.     /* [out] */ long *plOutputEnable);
  12123.  
  12124.  
  12125. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  12126.     IRpcStubBuffer *This,
  12127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12128.     PRPC_MESSAGE _pRpcMessage,
  12129.     DWORD *_pdwStubPhase);
  12130.  
  12131.  
  12132.  
  12133. #endif     /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  12134.  
  12135.  
  12136. /* interface __MIDL_itf_strmif_0169 */
  12137. /* [local] */ 
  12138.  
  12139. typedef 
  12140. enum tagVideoProcAmpProperty
  12141.     {    VideoProcAmp_Brightness    = 0,
  12142.     VideoProcAmp_Contrast    = VideoProcAmp_Brightness + 1,
  12143.     VideoProcAmp_Hue    = VideoProcAmp_Contrast + 1,
  12144.     VideoProcAmp_Saturation    = VideoProcAmp_Hue + 1,
  12145.     VideoProcAmp_Sharpness    = VideoProcAmp_Saturation + 1,
  12146.     VideoProcAmp_Gamma    = VideoProcAmp_Sharpness + 1,
  12147.     VideoProcAmp_ColorEnable    = VideoProcAmp_Gamma + 1,
  12148.     VideoProcAmp_WhiteBalance    = VideoProcAmp_ColorEnable + 1,
  12149.     VideoProcAmp_BacklightCompensation    = VideoProcAmp_WhiteBalance + 1,
  12150.     VideoProcAmp_Gain    = VideoProcAmp_BacklightCompensation + 1
  12151.     }     VideoProcAmpProperty;
  12152.  
  12153. typedef 
  12154. enum tagVideoProcAmpFlags
  12155.     {    VideoProcAmp_Flags_Auto    = 0x1,
  12156.     VideoProcAmp_Flags_Manual    = 0x2
  12157.     }     VideoProcAmpFlags;
  12158.  
  12159.  
  12160.  
  12161. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  12162. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  12163.  
  12164. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  12165. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  12166.  
  12167. /* interface IAMVideoProcAmp */
  12168. /* [unique][uuid][object] */ 
  12169.  
  12170.  
  12171. EXTERN_C const IID IID_IAMVideoProcAmp;
  12172.  
  12173. #if defined(__cplusplus) && !defined(CINTERFACE)
  12174.     
  12175.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  12176.     IAMVideoProcAmp : public IUnknown
  12177.     {
  12178.     public:
  12179.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12180.             /* [in] */ long Property,
  12181.             /* [out] */ long *pMin,
  12182.             /* [out] */ long *pMax,
  12183.             /* [out] */ long *pSteppingDelta,
  12184.             /* [out] */ long *pDefault,
  12185.             /* [out] */ long *pCapsFlags) = 0;
  12186.         
  12187.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12188.             /* [in] */ long Property,
  12189.             /* [in] */ long lValue,
  12190.             /* [in] */ long Flags) = 0;
  12191.         
  12192.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12193.             /* [in] */ long Property,
  12194.             /* [out] */ long *lValue,
  12195.             /* [out] */ long *Flags) = 0;
  12196.         
  12197.     };
  12198.     
  12199. #else     /* C style interface */
  12200.  
  12201.     typedef struct IAMVideoProcAmpVtbl
  12202.     {
  12203.         BEGIN_INTERFACE
  12204.         
  12205.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12206.             IAMVideoProcAmp * This,
  12207.             /* [in] */ REFIID riid,
  12208.             /* [iid_is][out] */ void **ppvObject);
  12209.         
  12210.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12211.             IAMVideoProcAmp * This);
  12212.         
  12213.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12214.             IAMVideoProcAmp * This);
  12215.         
  12216.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12217.             IAMVideoProcAmp * This,
  12218.             /* [in] */ long Property,
  12219.             /* [out] */ long *pMin,
  12220.             /* [out] */ long *pMax,
  12221.             /* [out] */ long *pSteppingDelta,
  12222.             /* [out] */ long *pDefault,
  12223.             /* [out] */ long *pCapsFlags);
  12224.         
  12225.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12226.             IAMVideoProcAmp * This,
  12227.             /* [in] */ long Property,
  12228.             /* [in] */ long lValue,
  12229.             /* [in] */ long Flags);
  12230.         
  12231.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12232.             IAMVideoProcAmp * This,
  12233.             /* [in] */ long Property,
  12234.             /* [out] */ long *lValue,
  12235.             /* [out] */ long *Flags);
  12236.         
  12237.         END_INTERFACE
  12238.     } IAMVideoProcAmpVtbl;
  12239.  
  12240.     interface IAMVideoProcAmp
  12241.     {
  12242.         CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  12243.     };
  12244.  
  12245.     
  12246.  
  12247. #ifdef COBJMACROS
  12248.  
  12249.  
  12250. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)    \
  12251.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12252.  
  12253. #define IAMVideoProcAmp_AddRef(This)    \
  12254.     (This)->lpVtbl -> AddRef(This)
  12255.  
  12256. #define IAMVideoProcAmp_Release(This)    \
  12257.     (This)->lpVtbl -> Release(This)
  12258.  
  12259.  
  12260. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12261.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12262.  
  12263. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)    \
  12264.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12265.  
  12266. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)    \
  12267.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12268.  
  12269. #endif /* COBJMACROS */
  12270.  
  12271.  
  12272. #endif     /* C style interface */
  12273.  
  12274.  
  12275.  
  12276. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  12277.     IAMVideoProcAmp * This,
  12278.     /* [in] */ long Property,
  12279.     /* [out] */ long *pMin,
  12280.     /* [out] */ long *pMax,
  12281.     /* [out] */ long *pSteppingDelta,
  12282.     /* [out] */ long *pDefault,
  12283.     /* [out] */ long *pCapsFlags);
  12284.  
  12285.  
  12286. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  12287.     IRpcStubBuffer *This,
  12288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12289.     PRPC_MESSAGE _pRpcMessage,
  12290.     DWORD *_pdwStubPhase);
  12291.  
  12292.  
  12293. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  12294.     IAMVideoProcAmp * This,
  12295.     /* [in] */ long Property,
  12296.     /* [in] */ long lValue,
  12297.     /* [in] */ long Flags);
  12298.  
  12299.  
  12300. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  12301.     IRpcStubBuffer *This,
  12302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12303.     PRPC_MESSAGE _pRpcMessage,
  12304.     DWORD *_pdwStubPhase);
  12305.  
  12306.  
  12307. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  12308.     IAMVideoProcAmp * This,
  12309.     /* [in] */ long Property,
  12310.     /* [out] */ long *lValue,
  12311.     /* [out] */ long *Flags);
  12312.  
  12313.  
  12314. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  12315.     IRpcStubBuffer *This,
  12316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12317.     PRPC_MESSAGE _pRpcMessage,
  12318.     DWORD *_pdwStubPhase);
  12319.  
  12320.  
  12321.  
  12322. #endif     /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  12323.  
  12324.  
  12325. /* interface __MIDL_itf_strmif_0170 */
  12326. /* [local] */ 
  12327.  
  12328. typedef 
  12329. enum tagCameraControlProperty
  12330.     {    CameraControl_Pan    = 0,
  12331.     CameraControl_Tilt    = CameraControl_Pan + 1,
  12332.     CameraControl_Roll    = CameraControl_Tilt + 1,
  12333.     CameraControl_Zoom    = CameraControl_Roll + 1,
  12334.     CameraControl_Exposure    = CameraControl_Zoom + 1,
  12335.     CameraControl_Iris    = CameraControl_Exposure + 1,
  12336.     CameraControl_Focus    = CameraControl_Iris + 1
  12337.     }     CameraControlProperty;
  12338.  
  12339. typedef 
  12340. enum tagCameraControlFlags
  12341.     {    CameraControl_Flags_Auto    = 0x1,
  12342.     CameraControl_Flags_Manual    = 0x2
  12343.     }     CameraControlFlags;
  12344.  
  12345.  
  12346.  
  12347. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;
  12348. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
  12349.  
  12350. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  12351. #define __IAMCameraControl_INTERFACE_DEFINED__
  12352.  
  12353. /* interface IAMCameraControl */
  12354. /* [unique][uuid][object] */ 
  12355.  
  12356.  
  12357. EXTERN_C const IID IID_IAMCameraControl;
  12358.  
  12359. #if defined(__cplusplus) && !defined(CINTERFACE)
  12360.     
  12361.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  12362.     IAMCameraControl : public IUnknown
  12363.     {
  12364.     public:
  12365.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  12366.             /* [in] */ long Property,
  12367.             /* [out] */ long *pMin,
  12368.             /* [out] */ long *pMax,
  12369.             /* [out] */ long *pSteppingDelta,
  12370.             /* [out] */ long *pDefault,
  12371.             /* [out] */ long *pCapsFlags) = 0;
  12372.         
  12373.         virtual HRESULT STDMETHODCALLTYPE Set( 
  12374.             /* [in] */ long Property,
  12375.             /* [in] */ long lValue,
  12376.             /* [in] */ long Flags) = 0;
  12377.         
  12378.         virtual HRESULT STDMETHODCALLTYPE Get( 
  12379.             /* [in] */ long Property,
  12380.             /* [out] */ long *lValue,
  12381.             /* [out] */ long *Flags) = 0;
  12382.         
  12383.     };
  12384.     
  12385. #else     /* C style interface */
  12386.  
  12387.     typedef struct IAMCameraControlVtbl
  12388.     {
  12389.         BEGIN_INTERFACE
  12390.         
  12391.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12392.             IAMCameraControl * This,
  12393.             /* [in] */ REFIID riid,
  12394.             /* [iid_is][out] */ void **ppvObject);
  12395.         
  12396.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12397.             IAMCameraControl * This);
  12398.         
  12399.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12400.             IAMCameraControl * This);
  12401.         
  12402.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  12403.             IAMCameraControl * This,
  12404.             /* [in] */ long Property,
  12405.             /* [out] */ long *pMin,
  12406.             /* [out] */ long *pMax,
  12407.             /* [out] */ long *pSteppingDelta,
  12408.             /* [out] */ long *pDefault,
  12409.             /* [out] */ long *pCapsFlags);
  12410.         
  12411.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  12412.             IAMCameraControl * This,
  12413.             /* [in] */ long Property,
  12414.             /* [in] */ long lValue,
  12415.             /* [in] */ long Flags);
  12416.         
  12417.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  12418.             IAMCameraControl * This,
  12419.             /* [in] */ long Property,
  12420.             /* [out] */ long *lValue,
  12421.             /* [out] */ long *Flags);
  12422.         
  12423.         END_INTERFACE
  12424.     } IAMCameraControlVtbl;
  12425.  
  12426.     interface IAMCameraControl
  12427.     {
  12428.         CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  12429.     };
  12430.  
  12431.     
  12432.  
  12433. #ifdef COBJMACROS
  12434.  
  12435.  
  12436. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)    \
  12437.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12438.  
  12439. #define IAMCameraControl_AddRef(This)    \
  12440.     (This)->lpVtbl -> AddRef(This)
  12441.  
  12442. #define IAMCameraControl_Release(This)    \
  12443.     (This)->lpVtbl -> Release(This)
  12444.  
  12445.  
  12446. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)    \
  12447.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  12448.  
  12449. #define IAMCameraControl_Set(This,Property,lValue,Flags)    \
  12450.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  12451.  
  12452. #define IAMCameraControl_Get(This,Property,lValue,Flags)    \
  12453.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  12454.  
  12455. #endif /* COBJMACROS */
  12456.  
  12457.  
  12458. #endif     /* C style interface */
  12459.  
  12460.  
  12461.  
  12462. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  12463.     IAMCameraControl * This,
  12464.     /* [in] */ long Property,
  12465.     /* [out] */ long *pMin,
  12466.     /* [out] */ long *pMax,
  12467.     /* [out] */ long *pSteppingDelta,
  12468.     /* [out] */ long *pDefault,
  12469.     /* [out] */ long *pCapsFlags);
  12470.  
  12471.  
  12472. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  12473.     IRpcStubBuffer *This,
  12474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12475.     PRPC_MESSAGE _pRpcMessage,
  12476.     DWORD *_pdwStubPhase);
  12477.  
  12478.  
  12479. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  12480.     IAMCameraControl * This,
  12481.     /* [in] */ long Property,
  12482.     /* [in] */ long lValue,
  12483.     /* [in] */ long Flags);
  12484.  
  12485.  
  12486. void __RPC_STUB IAMCameraControl_Set_Stub(
  12487.     IRpcStubBuffer *This,
  12488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12489.     PRPC_MESSAGE _pRpcMessage,
  12490.     DWORD *_pdwStubPhase);
  12491.  
  12492.  
  12493. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  12494.     IAMCameraControl * This,
  12495.     /* [in] */ long Property,
  12496.     /* [out] */ long *lValue,
  12497.     /* [out] */ long *Flags);
  12498.  
  12499.  
  12500. void __RPC_STUB IAMCameraControl_Get_Stub(
  12501.     IRpcStubBuffer *This,
  12502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12503.     PRPC_MESSAGE _pRpcMessage,
  12504.     DWORD *_pdwStubPhase);
  12505.  
  12506.  
  12507.  
  12508. #endif     /* __IAMCameraControl_INTERFACE_DEFINED__ */
  12509.  
  12510.  
  12511. /* interface __MIDL_itf_strmif_0171 */
  12512. /* [local] */ 
  12513.  
  12514. typedef 
  12515. enum tagVideoControlFlags
  12516.     {    VideoControlFlag_FlipHorizontal    = 0x1,
  12517.     VideoControlFlag_FlipVertical    = 0x2,
  12518.     VideoControlFlag_ExternalTriggerEnable    = 0x4,
  12519.     VideoControlFlag_Trigger    = 0x8
  12520.     }     VideoControlFlags;
  12521.  
  12522.  
  12523.  
  12524. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_c_ifspec;
  12525. extern RPC_IF_HANDLE __MIDL_itf_strmif_0171_v0_0_s_ifspec;
  12526.  
  12527. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  12528. #define __IAMVideoControl_INTERFACE_DEFINED__
  12529.  
  12530. /* interface IAMVideoControl */
  12531. /* [unique][uuid][object] */ 
  12532.  
  12533.  
  12534. EXTERN_C const IID IID_IAMVideoControl;
  12535.  
  12536. #if defined(__cplusplus) && !defined(CINTERFACE)
  12537.     
  12538.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  12539.     IAMVideoControl : public IUnknown
  12540.     {
  12541.     public:
  12542.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  12543.             /* [in] */ IPin *pPin,
  12544.             /* [out] */ long *pCapsFlags) = 0;
  12545.         
  12546.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  12547.             /* [in] */ IPin *pPin,
  12548.             /* [in] */ long Mode) = 0;
  12549.         
  12550.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  12551.             /* [in] */ IPin *pPin,
  12552.             /* [out] */ long *Mode) = 0;
  12553.         
  12554.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  12555.             /* [in] */ IPin *pPin,
  12556.             /* [out] */ LONGLONG *ActualFrameRate) = 0;
  12557.         
  12558.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  12559.             /* [in] */ IPin *pPin,
  12560.             /* [in] */ long iIndex,
  12561.             /* [in] */ SIZE Dimensions,
  12562.             /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  12563.         
  12564.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  12565.             /* [in] */ IPin *pPin,
  12566.             /* [in] */ long iIndex,
  12567.             /* [in] */ SIZE Dimensions,
  12568.             /* [out] */ long *ListSize,
  12569.             /* [out] */ LONGLONG **FrameRates) = 0;
  12570.         
  12571.     };
  12572.     
  12573. #else     /* C style interface */
  12574.  
  12575.     typedef struct IAMVideoControlVtbl
  12576.     {
  12577.         BEGIN_INTERFACE
  12578.         
  12579.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12580.             IAMVideoControl * This,
  12581.             /* [in] */ REFIID riid,
  12582.             /* [iid_is][out] */ void **ppvObject);
  12583.         
  12584.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12585.             IAMVideoControl * This);
  12586.         
  12587.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12588.             IAMVideoControl * This);
  12589.         
  12590.         HRESULT ( STDMETHODCALLTYPE *GetCaps )( 
  12591.             IAMVideoControl * This,
  12592.             /* [in] */ IPin *pPin,
  12593.             /* [out] */ long *pCapsFlags);
  12594.         
  12595.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  12596.             IAMVideoControl * This,
  12597.             /* [in] */ IPin *pPin,
  12598.             /* [in] */ long Mode);
  12599.         
  12600.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  12601.             IAMVideoControl * This,
  12602.             /* [in] */ IPin *pPin,
  12603.             /* [out] */ long *Mode);
  12604.         
  12605.         HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )( 
  12606.             IAMVideoControl * This,
  12607.             /* [in] */ IPin *pPin,
  12608.             /* [out] */ LONGLONG *ActualFrameRate);
  12609.         
  12610.         HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )( 
  12611.             IAMVideoControl * This,
  12612.             /* [in] */ IPin *pPin,
  12613.             /* [in] */ long iIndex,
  12614.             /* [in] */ SIZE Dimensions,
  12615.             /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12616.         
  12617.         HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )( 
  12618.             IAMVideoControl * This,
  12619.             /* [in] */ IPin *pPin,
  12620.             /* [in] */ long iIndex,
  12621.             /* [in] */ SIZE Dimensions,
  12622.             /* [out] */ long *ListSize,
  12623.             /* [out] */ LONGLONG **FrameRates);
  12624.         
  12625.         END_INTERFACE
  12626.     } IAMVideoControlVtbl;
  12627.  
  12628.     interface IAMVideoControl
  12629.     {
  12630.         CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  12631.     };
  12632.  
  12633.     
  12634.  
  12635. #ifdef COBJMACROS
  12636.  
  12637.  
  12638. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)    \
  12639.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12640.  
  12641. #define IAMVideoControl_AddRef(This)    \
  12642.     (This)->lpVtbl -> AddRef(This)
  12643.  
  12644. #define IAMVideoControl_Release(This)    \
  12645.     (This)->lpVtbl -> Release(This)
  12646.  
  12647.  
  12648. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)    \
  12649.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  12650.  
  12651. #define IAMVideoControl_SetMode(This,pPin,Mode)    \
  12652.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  12653.  
  12654. #define IAMVideoControl_GetMode(This,pPin,Mode)    \
  12655.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  12656.  
  12657. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)    \
  12658.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  12659.  
  12660. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)    \
  12661.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  12662.  
  12663. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)    \
  12664.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  12665.  
  12666. #endif /* COBJMACROS */
  12667.  
  12668.  
  12669. #endif     /* C style interface */
  12670.  
  12671.  
  12672.  
  12673. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  12674.     IAMVideoControl * This,
  12675.     /* [in] */ IPin *pPin,
  12676.     /* [out] */ long *pCapsFlags);
  12677.  
  12678.  
  12679. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  12680.     IRpcStubBuffer *This,
  12681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12682.     PRPC_MESSAGE _pRpcMessage,
  12683.     DWORD *_pdwStubPhase);
  12684.  
  12685.  
  12686. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  12687.     IAMVideoControl * This,
  12688.     /* [in] */ IPin *pPin,
  12689.     /* [in] */ long Mode);
  12690.  
  12691.  
  12692. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  12693.     IRpcStubBuffer *This,
  12694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12695.     PRPC_MESSAGE _pRpcMessage,
  12696.     DWORD *_pdwStubPhase);
  12697.  
  12698.  
  12699. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  12700.     IAMVideoControl * This,
  12701.     /* [in] */ IPin *pPin,
  12702.     /* [out] */ long *Mode);
  12703.  
  12704.  
  12705. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  12706.     IRpcStubBuffer *This,
  12707.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12708.     PRPC_MESSAGE _pRpcMessage,
  12709.     DWORD *_pdwStubPhase);
  12710.  
  12711.  
  12712. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  12713.     IAMVideoControl * This,
  12714.     /* [in] */ IPin *pPin,
  12715.     /* [out] */ LONGLONG *ActualFrameRate);
  12716.  
  12717.  
  12718. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  12719.     IRpcStubBuffer *This,
  12720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12721.     PRPC_MESSAGE _pRpcMessage,
  12722.     DWORD *_pdwStubPhase);
  12723.  
  12724.  
  12725. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  12726.     IAMVideoControl * This,
  12727.     /* [in] */ IPin *pPin,
  12728.     /* [in] */ long iIndex,
  12729.     /* [in] */ SIZE Dimensions,
  12730.     /* [out] */ LONGLONG *MaxAvailableFrameRate);
  12731.  
  12732.  
  12733. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  12734.     IRpcStubBuffer *This,
  12735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12736.     PRPC_MESSAGE _pRpcMessage,
  12737.     DWORD *_pdwStubPhase);
  12738.  
  12739.  
  12740. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  12741.     IAMVideoControl * This,
  12742.     /* [in] */ IPin *pPin,
  12743.     /* [in] */ long iIndex,
  12744.     /* [in] */ SIZE Dimensions,
  12745.     /* [out] */ long *ListSize,
  12746.     /* [out] */ LONGLONG **FrameRates);
  12747.  
  12748.  
  12749. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  12750.     IRpcStubBuffer *This,
  12751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12752.     PRPC_MESSAGE _pRpcMessage,
  12753.     DWORD *_pdwStubPhase);
  12754.  
  12755.  
  12756.  
  12757. #endif     /* __IAMVideoControl_INTERFACE_DEFINED__ */
  12758.  
  12759.  
  12760. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  12761. #define __IAMCrossbar_INTERFACE_DEFINED__
  12762.  
  12763. /* interface IAMCrossbar */
  12764. /* [unique][uuid][object] */ 
  12765.  
  12766.  
  12767. EXTERN_C const IID IID_IAMCrossbar;
  12768.  
  12769. #if defined(__cplusplus) && !defined(CINTERFACE)
  12770.     
  12771.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  12772.     IAMCrossbar : public IUnknown
  12773.     {
  12774.     public:
  12775.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  12776.             /* [out] */ long *OutputPinCount,
  12777.             /* [out] */ long *InputPinCount) = 0;
  12778.         
  12779.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  12780.             /* [in] */ long OutputPinIndex,
  12781.             /* [in] */ long InputPinIndex) = 0;
  12782.         
  12783.         virtual HRESULT STDMETHODCALLTYPE Route( 
  12784.             /* [in] */ long OutputPinIndex,
  12785.             /* [in] */ long InputPinIndex) = 0;
  12786.         
  12787.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  12788.             /* [in] */ long OutputPinIndex,
  12789.             /* [out] */ long *InputPinIndex) = 0;
  12790.         
  12791.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  12792.             /* [in] */ BOOL IsInputPin,
  12793.             /* [in] */ long PinIndex,
  12794.             /* [out] */ long *PinIndexRelated,
  12795.             /* [out] */ long *PhysicalType) = 0;
  12796.         
  12797.     };
  12798.     
  12799. #else     /* C style interface */
  12800.  
  12801.     typedef struct IAMCrossbarVtbl
  12802.     {
  12803.         BEGIN_INTERFACE
  12804.         
  12805.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  12806.             IAMCrossbar * This,
  12807.             /* [in] */ REFIID riid,
  12808.             /* [iid_is][out] */ void **ppvObject);
  12809.         
  12810.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  12811.             IAMCrossbar * This);
  12812.         
  12813.         ULONG ( STDMETHODCALLTYPE *Release )( 
  12814.             IAMCrossbar * This);
  12815.         
  12816.         HRESULT ( STDMETHODCALLTYPE *get_PinCounts )( 
  12817.             IAMCrossbar * This,
  12818.             /* [out] */ long *OutputPinCount,
  12819.             /* [out] */ long *InputPinCount);
  12820.         
  12821.         HRESULT ( STDMETHODCALLTYPE *CanRoute )( 
  12822.             IAMCrossbar * This,
  12823.             /* [in] */ long OutputPinIndex,
  12824.             /* [in] */ long InputPinIndex);
  12825.         
  12826.         HRESULT ( STDMETHODCALLTYPE *Route )( 
  12827.             IAMCrossbar * This,
  12828.             /* [in] */ long OutputPinIndex,
  12829.             /* [in] */ long InputPinIndex);
  12830.         
  12831.         HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )( 
  12832.             IAMCrossbar * This,
  12833.             /* [in] */ long OutputPinIndex,
  12834.             /* [out] */ long *InputPinIndex);
  12835.         
  12836.         HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )( 
  12837.             IAMCrossbar * This,
  12838.             /* [in] */ BOOL IsInputPin,
  12839.             /* [in] */ long PinIndex,
  12840.             /* [out] */ long *PinIndexRelated,
  12841.             /* [out] */ long *PhysicalType);
  12842.         
  12843.         END_INTERFACE
  12844.     } IAMCrossbarVtbl;
  12845.  
  12846.     interface IAMCrossbar
  12847.     {
  12848.         CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  12849.     };
  12850.  
  12851.     
  12852.  
  12853. #ifdef COBJMACROS
  12854.  
  12855.  
  12856. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)    \
  12857.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12858.  
  12859. #define IAMCrossbar_AddRef(This)    \
  12860.     (This)->lpVtbl -> AddRef(This)
  12861.  
  12862. #define IAMCrossbar_Release(This)    \
  12863.     (This)->lpVtbl -> Release(This)
  12864.  
  12865.  
  12866. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)    \
  12867.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  12868.  
  12869. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)    \
  12870.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  12871.  
  12872. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)    \
  12873.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  12874.  
  12875. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)    \
  12876.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  12877.  
  12878. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)    \
  12879.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  12880.  
  12881. #endif /* COBJMACROS */
  12882.  
  12883.  
  12884. #endif     /* C style interface */
  12885.  
  12886.  
  12887.  
  12888. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  12889.     IAMCrossbar * This,
  12890.     /* [out] */ long *OutputPinCount,
  12891.     /* [out] */ long *InputPinCount);
  12892.  
  12893.  
  12894. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  12895.     IRpcStubBuffer *This,
  12896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12897.     PRPC_MESSAGE _pRpcMessage,
  12898.     DWORD *_pdwStubPhase);
  12899.  
  12900.  
  12901. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  12902.     IAMCrossbar * This,
  12903.     /* [in] */ long OutputPinIndex,
  12904.     /* [in] */ long InputPinIndex);
  12905.  
  12906.  
  12907. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  12908.     IRpcStubBuffer *This,
  12909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12910.     PRPC_MESSAGE _pRpcMessage,
  12911.     DWORD *_pdwStubPhase);
  12912.  
  12913.  
  12914. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  12915.     IAMCrossbar * This,
  12916.     /* [in] */ long OutputPinIndex,
  12917.     /* [in] */ long InputPinIndex);
  12918.  
  12919.  
  12920. void __RPC_STUB IAMCrossbar_Route_Stub(
  12921.     IRpcStubBuffer *This,
  12922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12923.     PRPC_MESSAGE _pRpcMessage,
  12924.     DWORD *_pdwStubPhase);
  12925.  
  12926.  
  12927. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  12928.     IAMCrossbar * This,
  12929.     /* [in] */ long OutputPinIndex,
  12930.     /* [out] */ long *InputPinIndex);
  12931.  
  12932.  
  12933. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  12934.     IRpcStubBuffer *This,
  12935.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12936.     PRPC_MESSAGE _pRpcMessage,
  12937.     DWORD *_pdwStubPhase);
  12938.  
  12939.  
  12940. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  12941.     IAMCrossbar * This,
  12942.     /* [in] */ BOOL IsInputPin,
  12943.     /* [in] */ long PinIndex,
  12944.     /* [out] */ long *PinIndexRelated,
  12945.     /* [out] */ long *PhysicalType);
  12946.  
  12947.  
  12948. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  12949.     IRpcStubBuffer *This,
  12950.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12951.     PRPC_MESSAGE _pRpcMessage,
  12952.     DWORD *_pdwStubPhase);
  12953.  
  12954.  
  12955.  
  12956. #endif     /* __IAMCrossbar_INTERFACE_DEFINED__ */
  12957.  
  12958.  
  12959. /* interface __MIDL_itf_strmif_0173 */
  12960. /* [local] */ 
  12961.  
  12962. typedef 
  12963. enum tagAMTunerSubChannel
  12964.     {    AMTUNER_SUBCHAN_NO_TUNE    = -2,
  12965.     AMTUNER_SUBCHAN_DEFAULT    = -1
  12966.     }     AMTunerSubChannel;
  12967.  
  12968. typedef 
  12969. enum tagAMTunerSignalStrength
  12970.     {    AMTUNER_HASNOSIGNALSTRENGTH    = -1,
  12971.     AMTUNER_NOSIGNAL    = 0,
  12972.     AMTUNER_SIGNALPRESENT    = 1
  12973.     }     AMTunerSignalStrength;
  12974.  
  12975. typedef 
  12976. enum tagAMTunerModeType
  12977.     {    AMTUNER_MODE_DEFAULT    = 0,
  12978.     AMTUNER_MODE_TV    = 0x1,
  12979.     AMTUNER_MODE_FM_RADIO    = 0x2,
  12980.     AMTUNER_MODE_AM_RADIO    = 0x4,
  12981.     AMTUNER_MODE_DSS    = 0x8
  12982.     }     AMTunerModeType;
  12983.  
  12984. typedef 
  12985. enum tagAMTunerEventType
  12986.     {    AMTUNER_EVENT_CHANGED    = 0x1
  12987.     }     AMTunerEventType;
  12988.  
  12989.  
  12990.  
  12991.  
  12992. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_c_ifspec;
  12993. extern RPC_IF_HANDLE __MIDL_itf_strmif_0173_v0_0_s_ifspec;
  12994.  
  12995. #ifndef __IAMTuner_INTERFACE_DEFINED__
  12996. #define __IAMTuner_INTERFACE_DEFINED__
  12997.  
  12998. /* interface IAMTuner */
  12999. /* [unique][uuid][object] */ 
  13000.  
  13001.  
  13002. EXTERN_C const IID IID_IAMTuner;
  13003.  
  13004. #if defined(__cplusplus) && !defined(CINTERFACE)
  13005.     
  13006.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  13007.     IAMTuner : public IUnknown
  13008.     {
  13009.     public:
  13010.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  13011.             /* [in] */ long lChannel,
  13012.             /* [in] */ long lVideoSubChannel,
  13013.             /* [in] */ long lAudioSubChannel) = 0;
  13014.         
  13015.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  13016.             /* [out] */ long *plChannel,
  13017.             /* [out] */ long *plVideoSubChannel,
  13018.             /* [out] */ long *plAudioSubChannel) = 0;
  13019.         
  13020.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  13021.             /* [out] */ long *lChannelMin,
  13022.             /* [out] */ long *lChannelMax) = 0;
  13023.         
  13024.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  13025.             /* [in] */ long lCountryCode) = 0;
  13026.         
  13027.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  13028.             /* [out] */ long *plCountryCode) = 0;
  13029.         
  13030.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  13031.             /* [in] */ long lTuningSpace) = 0;
  13032.         
  13033.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  13034.             /* [out] */ long *plTuningSpace) = 0;
  13035.         
  13036.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon( 
  13037.             /* [in] */ HANDLE hCurrentUser) = 0;
  13038.         
  13039.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  13040.         
  13041.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  13042.             /* [out] */ long *plSignalStrength) = 0;
  13043.         
  13044.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  13045.             /* [in] */ AMTunerModeType lMode) = 0;
  13046.         
  13047.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  13048.             /* [out] */ AMTunerModeType *plMode) = 0;
  13049.         
  13050.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  13051.             /* [out] */ long *plModes) = 0;
  13052.         
  13053.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  13054.             /* [in] */ IAMTunerNotification *pNotify,
  13055.             /* [in] */ long lEvents) = 0;
  13056.         
  13057.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  13058.             /* [in] */ IAMTunerNotification *pNotify) = 0;
  13059.         
  13060.     };
  13061.     
  13062. #else     /* C style interface */
  13063.  
  13064.     typedef struct IAMTunerVtbl
  13065.     {
  13066.         BEGIN_INTERFACE
  13067.         
  13068.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13069.             IAMTuner * This,
  13070.             /* [in] */ REFIID riid,
  13071.             /* [iid_is][out] */ void **ppvObject);
  13072.         
  13073.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13074.             IAMTuner * This);
  13075.         
  13076.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13077.             IAMTuner * This);
  13078.         
  13079.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13080.             IAMTuner * This,
  13081.             /* [in] */ long lChannel,
  13082.             /* [in] */ long lVideoSubChannel,
  13083.             /* [in] */ long lAudioSubChannel);
  13084.         
  13085.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13086.             IAMTuner * This,
  13087.             /* [out] */ long *plChannel,
  13088.             /* [out] */ long *plVideoSubChannel,
  13089.             /* [out] */ long *plAudioSubChannel);
  13090.         
  13091.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13092.             IAMTuner * This,
  13093.             /* [out] */ long *lChannelMin,
  13094.             /* [out] */ long *lChannelMax);
  13095.         
  13096.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13097.             IAMTuner * This,
  13098.             /* [in] */ long lCountryCode);
  13099.         
  13100.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13101.             IAMTuner * This,
  13102.             /* [out] */ long *plCountryCode);
  13103.         
  13104.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13105.             IAMTuner * This,
  13106.             /* [in] */ long lTuningSpace);
  13107.         
  13108.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13109.             IAMTuner * This,
  13110.             /* [out] */ long *plTuningSpace);
  13111.         
  13112.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13113.             IAMTuner * This,
  13114.             /* [in] */ HANDLE hCurrentUser);
  13115.         
  13116.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13117.             IAMTuner * This);
  13118.         
  13119.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13120.             IAMTuner * This,
  13121.             /* [out] */ long *plSignalStrength);
  13122.         
  13123.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13124.             IAMTuner * This,
  13125.             /* [in] */ AMTunerModeType lMode);
  13126.         
  13127.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13128.             IAMTuner * This,
  13129.             /* [out] */ AMTunerModeType *plMode);
  13130.         
  13131.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13132.             IAMTuner * This,
  13133.             /* [out] */ long *plModes);
  13134.         
  13135.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13136.             IAMTuner * This,
  13137.             /* [in] */ IAMTunerNotification *pNotify,
  13138.             /* [in] */ long lEvents);
  13139.         
  13140.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13141.             IAMTuner * This,
  13142.             /* [in] */ IAMTunerNotification *pNotify);
  13143.         
  13144.         END_INTERFACE
  13145.     } IAMTunerVtbl;
  13146.  
  13147.     interface IAMTuner
  13148.     {
  13149.         CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  13150.     };
  13151.  
  13152.     
  13153.  
  13154. #ifdef COBJMACROS
  13155.  
  13156.  
  13157. #define IAMTuner_QueryInterface(This,riid,ppvObject)    \
  13158.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13159.  
  13160. #define IAMTuner_AddRef(This)    \
  13161.     (This)->lpVtbl -> AddRef(This)
  13162.  
  13163. #define IAMTuner_Release(This)    \
  13164.     (This)->lpVtbl -> Release(This)
  13165.  
  13166.  
  13167. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13168.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13169.  
  13170. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13171.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13172.  
  13173. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13174.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13175.  
  13176. #define IAMTuner_put_CountryCode(This,lCountryCode)    \
  13177.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13178.  
  13179. #define IAMTuner_get_CountryCode(This,plCountryCode)    \
  13180.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13181.  
  13182. #define IAMTuner_put_TuningSpace(This,lTuningSpace)    \
  13183.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13184.  
  13185. #define IAMTuner_get_TuningSpace(This,plTuningSpace)    \
  13186.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13187.  
  13188. #define IAMTuner_Logon(This,hCurrentUser)    \
  13189.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13190.  
  13191. #define IAMTuner_Logout(This)    \
  13192.     (This)->lpVtbl -> Logout(This)
  13193.  
  13194. #define IAMTuner_SignalPresent(This,plSignalStrength)    \
  13195.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13196.  
  13197. #define IAMTuner_put_Mode(This,lMode)    \
  13198.     (This)->lpVtbl -> put_Mode(This,lMode)
  13199.  
  13200. #define IAMTuner_get_Mode(This,plMode)    \
  13201.     (This)->lpVtbl -> get_Mode(This,plMode)
  13202.  
  13203. #define IAMTuner_GetAvailableModes(This,plModes)    \
  13204.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13205.  
  13206. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13207.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13208.  
  13209. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13210.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13211.  
  13212. #endif /* COBJMACROS */
  13213.  
  13214.  
  13215. #endif     /* C style interface */
  13216.  
  13217.  
  13218.  
  13219. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  13220.     IAMTuner * This,
  13221.     /* [in] */ long lChannel,
  13222.     /* [in] */ long lVideoSubChannel,
  13223.     /* [in] */ long lAudioSubChannel);
  13224.  
  13225.  
  13226. void __RPC_STUB IAMTuner_put_Channel_Stub(
  13227.     IRpcStubBuffer *This,
  13228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13229.     PRPC_MESSAGE _pRpcMessage,
  13230.     DWORD *_pdwStubPhase);
  13231.  
  13232.  
  13233. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  13234.     IAMTuner * This,
  13235.     /* [out] */ long *plChannel,
  13236.     /* [out] */ long *plVideoSubChannel,
  13237.     /* [out] */ long *plAudioSubChannel);
  13238.  
  13239.  
  13240. void __RPC_STUB IAMTuner_get_Channel_Stub(
  13241.     IRpcStubBuffer *This,
  13242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13243.     PRPC_MESSAGE _pRpcMessage,
  13244.     DWORD *_pdwStubPhase);
  13245.  
  13246.  
  13247. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  13248.     IAMTuner * This,
  13249.     /* [out] */ long *lChannelMin,
  13250.     /* [out] */ long *lChannelMax);
  13251.  
  13252.  
  13253. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  13254.     IRpcStubBuffer *This,
  13255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13256.     PRPC_MESSAGE _pRpcMessage,
  13257.     DWORD *_pdwStubPhase);
  13258.  
  13259.  
  13260. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  13261.     IAMTuner * This,
  13262.     /* [in] */ long lCountryCode);
  13263.  
  13264.  
  13265. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  13266.     IRpcStubBuffer *This,
  13267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13268.     PRPC_MESSAGE _pRpcMessage,
  13269.     DWORD *_pdwStubPhase);
  13270.  
  13271.  
  13272. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  13273.     IAMTuner * This,
  13274.     /* [out] */ long *plCountryCode);
  13275.  
  13276.  
  13277. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  13278.     IRpcStubBuffer *This,
  13279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13280.     PRPC_MESSAGE _pRpcMessage,
  13281.     DWORD *_pdwStubPhase);
  13282.  
  13283.  
  13284. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  13285.     IAMTuner * This,
  13286.     /* [in] */ long lTuningSpace);
  13287.  
  13288.  
  13289. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  13290.     IRpcStubBuffer *This,
  13291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13292.     PRPC_MESSAGE _pRpcMessage,
  13293.     DWORD *_pdwStubPhase);
  13294.  
  13295.  
  13296. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  13297.     IAMTuner * This,
  13298.     /* [out] */ long *plTuningSpace);
  13299.  
  13300.  
  13301. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  13302.     IRpcStubBuffer *This,
  13303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13304.     PRPC_MESSAGE _pRpcMessage,
  13305.     DWORD *_pdwStubPhase);
  13306.  
  13307.  
  13308. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  13309.     IAMTuner * This,
  13310.     /* [in] */ HANDLE hCurrentUser);
  13311.  
  13312.  
  13313. void __RPC_STUB IAMTuner_Logon_Stub(
  13314.     IRpcStubBuffer *This,
  13315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13316.     PRPC_MESSAGE _pRpcMessage,
  13317.     DWORD *_pdwStubPhase);
  13318.  
  13319.  
  13320. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  13321.     IAMTuner * This);
  13322.  
  13323.  
  13324. void __RPC_STUB IAMTuner_Logout_Stub(
  13325.     IRpcStubBuffer *This,
  13326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13327.     PRPC_MESSAGE _pRpcMessage,
  13328.     DWORD *_pdwStubPhase);
  13329.  
  13330.  
  13331. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  13332.     IAMTuner * This,
  13333.     /* [out] */ long *plSignalStrength);
  13334.  
  13335.  
  13336. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  13337.     IRpcStubBuffer *This,
  13338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13339.     PRPC_MESSAGE _pRpcMessage,
  13340.     DWORD *_pdwStubPhase);
  13341.  
  13342.  
  13343. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  13344.     IAMTuner * This,
  13345.     /* [in] */ AMTunerModeType lMode);
  13346.  
  13347.  
  13348. void __RPC_STUB IAMTuner_put_Mode_Stub(
  13349.     IRpcStubBuffer *This,
  13350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13351.     PRPC_MESSAGE _pRpcMessage,
  13352.     DWORD *_pdwStubPhase);
  13353.  
  13354.  
  13355. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  13356.     IAMTuner * This,
  13357.     /* [out] */ AMTunerModeType *plMode);
  13358.  
  13359.  
  13360. void __RPC_STUB IAMTuner_get_Mode_Stub(
  13361.     IRpcStubBuffer *This,
  13362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13363.     PRPC_MESSAGE _pRpcMessage,
  13364.     DWORD *_pdwStubPhase);
  13365.  
  13366.  
  13367. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  13368.     IAMTuner * This,
  13369.     /* [out] */ long *plModes);
  13370.  
  13371.  
  13372. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  13373.     IRpcStubBuffer *This,
  13374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13375.     PRPC_MESSAGE _pRpcMessage,
  13376.     DWORD *_pdwStubPhase);
  13377.  
  13378.  
  13379. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  13380.     IAMTuner * This,
  13381.     /* [in] */ IAMTunerNotification *pNotify,
  13382.     /* [in] */ long lEvents);
  13383.  
  13384.  
  13385. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  13386.     IRpcStubBuffer *This,
  13387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13388.     PRPC_MESSAGE _pRpcMessage,
  13389.     DWORD *_pdwStubPhase);
  13390.  
  13391.  
  13392. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  13393.     IAMTuner * This,
  13394.     /* [in] */ IAMTunerNotification *pNotify);
  13395.  
  13396.  
  13397. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  13398.     IRpcStubBuffer *This,
  13399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13400.     PRPC_MESSAGE _pRpcMessage,
  13401.     DWORD *_pdwStubPhase);
  13402.  
  13403.  
  13404.  
  13405. #endif     /* __IAMTuner_INTERFACE_DEFINED__ */
  13406.  
  13407.  
  13408. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  13409. #define __IAMTunerNotification_INTERFACE_DEFINED__
  13410.  
  13411. /* interface IAMTunerNotification */
  13412. /* [unique][uuid][object] */ 
  13413.  
  13414.  
  13415. EXTERN_C const IID IID_IAMTunerNotification;
  13416.  
  13417. #if defined(__cplusplus) && !defined(CINTERFACE)
  13418.     
  13419.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  13420.     IAMTunerNotification : public IUnknown
  13421.     {
  13422.     public:
  13423.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  13424.             /* [in] */ AMTunerEventType Event) = 0;
  13425.         
  13426.     };
  13427.     
  13428. #else     /* C style interface */
  13429.  
  13430.     typedef struct IAMTunerNotificationVtbl
  13431.     {
  13432.         BEGIN_INTERFACE
  13433.         
  13434.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13435.             IAMTunerNotification * This,
  13436.             /* [in] */ REFIID riid,
  13437.             /* [iid_is][out] */ void **ppvObject);
  13438.         
  13439.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13440.             IAMTunerNotification * This);
  13441.         
  13442.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13443.             IAMTunerNotification * This);
  13444.         
  13445.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  13446.             IAMTunerNotification * This,
  13447.             /* [in] */ AMTunerEventType Event);
  13448.         
  13449.         END_INTERFACE
  13450.     } IAMTunerNotificationVtbl;
  13451.  
  13452.     interface IAMTunerNotification
  13453.     {
  13454.         CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  13455.     };
  13456.  
  13457.     
  13458.  
  13459. #ifdef COBJMACROS
  13460.  
  13461.  
  13462. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)    \
  13463.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13464.  
  13465. #define IAMTunerNotification_AddRef(This)    \
  13466.     (This)->lpVtbl -> AddRef(This)
  13467.  
  13468. #define IAMTunerNotification_Release(This)    \
  13469.     (This)->lpVtbl -> Release(This)
  13470.  
  13471.  
  13472. #define IAMTunerNotification_OnEvent(This,Event)    \
  13473.     (This)->lpVtbl -> OnEvent(This,Event)
  13474.  
  13475. #endif /* COBJMACROS */
  13476.  
  13477.  
  13478. #endif     /* C style interface */
  13479.  
  13480.  
  13481.  
  13482. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  13483.     IAMTunerNotification * This,
  13484.     /* [in] */ AMTunerEventType Event);
  13485.  
  13486.  
  13487. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  13488.     IRpcStubBuffer *This,
  13489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13490.     PRPC_MESSAGE _pRpcMessage,
  13491.     DWORD *_pdwStubPhase);
  13492.  
  13493.  
  13494.  
  13495. #endif     /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  13496.  
  13497.  
  13498. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  13499. #define __IAMTVTuner_INTERFACE_DEFINED__
  13500.  
  13501. /* interface IAMTVTuner */
  13502. /* [unique][uuid][object] */ 
  13503.  
  13504.  
  13505. EXTERN_C const IID IID_IAMTVTuner;
  13506.  
  13507. #if defined(__cplusplus) && !defined(CINTERFACE)
  13508.     
  13509.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  13510.     IAMTVTuner : public IAMTuner
  13511.     {
  13512.     public:
  13513.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  13514.             /* [out] */ long *lAnalogVideoStandard) = 0;
  13515.         
  13516.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  13517.             /* [out] */ long *plAnalogVideoStandard) = 0;
  13518.         
  13519.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  13520.             /* [in] */ long lChannel,
  13521.             /* [out] */ long *plFoundSignal) = 0;
  13522.         
  13523.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  13524.         
  13525.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  13526.             /* [out] */ long *plNumInputConnections) = 0;
  13527.         
  13528.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  13529.             /* [in] */ long lIndex,
  13530.             /* [in] */ TunerInputType InputType) = 0;
  13531.         
  13532.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  13533.             /* [in] */ long lIndex,
  13534.             /* [out] */ TunerInputType *pInputType) = 0;
  13535.         
  13536.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  13537.             /* [in] */ long lIndex) = 0;
  13538.         
  13539.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  13540.             /* [out] */ long *plIndex) = 0;
  13541.         
  13542.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  13543.             /* [out] */ long *lFreq) = 0;
  13544.         
  13545.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  13546.             /* [out] */ long *lFreq) = 0;
  13547.         
  13548.     };
  13549.     
  13550. #else     /* C style interface */
  13551.  
  13552.     typedef struct IAMTVTunerVtbl
  13553.     {
  13554.         BEGIN_INTERFACE
  13555.         
  13556.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13557.             IAMTVTuner * This,
  13558.             /* [in] */ REFIID riid,
  13559.             /* [iid_is][out] */ void **ppvObject);
  13560.         
  13561.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13562.             IAMTVTuner * This);
  13563.         
  13564.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13565.             IAMTVTuner * This);
  13566.         
  13567.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13568.             IAMTVTuner * This,
  13569.             /* [in] */ long lChannel,
  13570.             /* [in] */ long lVideoSubChannel,
  13571.             /* [in] */ long lAudioSubChannel);
  13572.         
  13573.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13574.             IAMTVTuner * This,
  13575.             /* [out] */ long *plChannel,
  13576.             /* [out] */ long *plVideoSubChannel,
  13577.             /* [out] */ long *plAudioSubChannel);
  13578.         
  13579.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13580.             IAMTVTuner * This,
  13581.             /* [out] */ long *lChannelMin,
  13582.             /* [out] */ long *lChannelMax);
  13583.         
  13584.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13585.             IAMTVTuner * This,
  13586.             /* [in] */ long lCountryCode);
  13587.         
  13588.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13589.             IAMTVTuner * This,
  13590.             /* [out] */ long *plCountryCode);
  13591.         
  13592.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13593.             IAMTVTuner * This,
  13594.             /* [in] */ long lTuningSpace);
  13595.         
  13596.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13597.             IAMTVTuner * This,
  13598.             /* [out] */ long *plTuningSpace);
  13599.         
  13600.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  13601.             IAMTVTuner * This,
  13602.             /* [in] */ HANDLE hCurrentUser);
  13603.         
  13604.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  13605.             IAMTVTuner * This);
  13606.         
  13607.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  13608.             IAMTVTuner * This,
  13609.             /* [out] */ long *plSignalStrength);
  13610.         
  13611.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  13612.             IAMTVTuner * This,
  13613.             /* [in] */ AMTunerModeType lMode);
  13614.         
  13615.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  13616.             IAMTVTuner * This,
  13617.             /* [out] */ AMTunerModeType *plMode);
  13618.         
  13619.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  13620.             IAMTVTuner * This,
  13621.             /* [out] */ long *plModes);
  13622.         
  13623.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  13624.             IAMTVTuner * This,
  13625.             /* [in] */ IAMTunerNotification *pNotify,
  13626.             /* [in] */ long lEvents);
  13627.         
  13628.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  13629.             IAMTVTuner * This,
  13630.             /* [in] */ IAMTunerNotification *pNotify);
  13631.         
  13632.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  13633.             IAMTVTuner * This,
  13634.             /* [out] */ long *lAnalogVideoStandard);
  13635.         
  13636.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  13637.             IAMTVTuner * This,
  13638.             /* [out] */ long *plAnalogVideoStandard);
  13639.         
  13640.         HRESULT ( STDMETHODCALLTYPE *AutoTune )( 
  13641.             IAMTVTuner * This,
  13642.             /* [in] */ long lChannel,
  13643.             /* [out] */ long *plFoundSignal);
  13644.         
  13645.         HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )( 
  13646.             IAMTVTuner * This);
  13647.         
  13648.         HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )( 
  13649.             IAMTVTuner * This,
  13650.             /* [out] */ long *plNumInputConnections);
  13651.         
  13652.         HRESULT ( STDMETHODCALLTYPE *put_InputType )( 
  13653.             IAMTVTuner * This,
  13654.             /* [in] */ long lIndex,
  13655.             /* [in] */ TunerInputType InputType);
  13656.         
  13657.         HRESULT ( STDMETHODCALLTYPE *get_InputType )( 
  13658.             IAMTVTuner * This,
  13659.             /* [in] */ long lIndex,
  13660.             /* [out] */ TunerInputType *pInputType);
  13661.         
  13662.         HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )( 
  13663.             IAMTVTuner * This,
  13664.             /* [in] */ long lIndex);
  13665.         
  13666.         HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )( 
  13667.             IAMTVTuner * This,
  13668.             /* [out] */ long *plIndex);
  13669.         
  13670.         HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  13671.             IAMTVTuner * This,
  13672.             /* [out] */ long *lFreq);
  13673.         
  13674.         HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  13675.             IAMTVTuner * This,
  13676.             /* [out] */ long *lFreq);
  13677.         
  13678.         END_INTERFACE
  13679.     } IAMTVTunerVtbl;
  13680.  
  13681.     interface IAMTVTuner
  13682.     {
  13683.         CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  13684.     };
  13685.  
  13686.     
  13687.  
  13688. #ifdef COBJMACROS
  13689.  
  13690.  
  13691. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)    \
  13692.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13693.  
  13694. #define IAMTVTuner_AddRef(This)    \
  13695.     (This)->lpVtbl -> AddRef(This)
  13696.  
  13697. #define IAMTVTuner_Release(This)    \
  13698.     (This)->lpVtbl -> Release(This)
  13699.  
  13700.  
  13701. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  13702.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  13703.  
  13704. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  13705.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  13706.  
  13707. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  13708.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  13709.  
  13710. #define IAMTVTuner_put_CountryCode(This,lCountryCode)    \
  13711.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  13712.  
  13713. #define IAMTVTuner_get_CountryCode(This,plCountryCode)    \
  13714.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  13715.  
  13716. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)    \
  13717.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  13718.  
  13719. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)    \
  13720.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  13721.  
  13722. #define IAMTVTuner_Logon(This,hCurrentUser)    \
  13723.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  13724.  
  13725. #define IAMTVTuner_Logout(This)    \
  13726.     (This)->lpVtbl -> Logout(This)
  13727.  
  13728. #define IAMTVTuner_SignalPresent(This,plSignalStrength)    \
  13729.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  13730.  
  13731. #define IAMTVTuner_put_Mode(This,lMode)    \
  13732.     (This)->lpVtbl -> put_Mode(This,lMode)
  13733.  
  13734. #define IAMTVTuner_get_Mode(This,plMode)    \
  13735.     (This)->lpVtbl -> get_Mode(This,plMode)
  13736.  
  13737. #define IAMTVTuner_GetAvailableModes(This,plModes)    \
  13738.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  13739.  
  13740. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  13741.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  13742.  
  13743. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  13744.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  13745.  
  13746.  
  13747. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  13748.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  13749.  
  13750. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)    \
  13751.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  13752.  
  13753. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)    \
  13754.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  13755.  
  13756. #define IAMTVTuner_StoreAutoTune(This)    \
  13757.     (This)->lpVtbl -> StoreAutoTune(This)
  13758.  
  13759. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)    \
  13760.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  13761.  
  13762. #define IAMTVTuner_put_InputType(This,lIndex,InputType)    \
  13763.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  13764.  
  13765. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)    \
  13766.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  13767.  
  13768. #define IAMTVTuner_put_ConnectInput(This,lIndex)    \
  13769.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  13770.  
  13771. #define IAMTVTuner_get_ConnectInput(This,plIndex)    \
  13772.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  13773.  
  13774. #define IAMTVTuner_get_VideoFrequency(This,lFreq)    \
  13775.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  13776.  
  13777. #define IAMTVTuner_get_AudioFrequency(This,lFreq)    \
  13778.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  13779.  
  13780. #endif /* COBJMACROS */
  13781.  
  13782.  
  13783. #endif     /* C style interface */
  13784.  
  13785.  
  13786.  
  13787. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  13788.     IAMTVTuner * This,
  13789.     /* [out] */ long *lAnalogVideoStandard);
  13790.  
  13791.  
  13792. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  13793.     IRpcStubBuffer *This,
  13794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13795.     PRPC_MESSAGE _pRpcMessage,
  13796.     DWORD *_pdwStubPhase);
  13797.  
  13798.  
  13799. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  13800.     IAMTVTuner * This,
  13801.     /* [out] */ long *plAnalogVideoStandard);
  13802.  
  13803.  
  13804. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  13805.     IRpcStubBuffer *This,
  13806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13807.     PRPC_MESSAGE _pRpcMessage,
  13808.     DWORD *_pdwStubPhase);
  13809.  
  13810.  
  13811. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  13812.     IAMTVTuner * This,
  13813.     /* [in] */ long lChannel,
  13814.     /* [out] */ long *plFoundSignal);
  13815.  
  13816.  
  13817. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  13818.     IRpcStubBuffer *This,
  13819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13820.     PRPC_MESSAGE _pRpcMessage,
  13821.     DWORD *_pdwStubPhase);
  13822.  
  13823.  
  13824. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  13825.     IAMTVTuner * This);
  13826.  
  13827.  
  13828. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  13829.     IRpcStubBuffer *This,
  13830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13831.     PRPC_MESSAGE _pRpcMessage,
  13832.     DWORD *_pdwStubPhase);
  13833.  
  13834.  
  13835. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  13836.     IAMTVTuner * This,
  13837.     /* [out] */ long *plNumInputConnections);
  13838.  
  13839.  
  13840. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  13841.     IRpcStubBuffer *This,
  13842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13843.     PRPC_MESSAGE _pRpcMessage,
  13844.     DWORD *_pdwStubPhase);
  13845.  
  13846.  
  13847. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  13848.     IAMTVTuner * This,
  13849.     /* [in] */ long lIndex,
  13850.     /* [in] */ TunerInputType InputType);
  13851.  
  13852.  
  13853. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  13854.     IRpcStubBuffer *This,
  13855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13856.     PRPC_MESSAGE _pRpcMessage,
  13857.     DWORD *_pdwStubPhase);
  13858.  
  13859.  
  13860. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  13861.     IAMTVTuner * This,
  13862.     /* [in] */ long lIndex,
  13863.     /* [out] */ TunerInputType *pInputType);
  13864.  
  13865.  
  13866. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  13867.     IRpcStubBuffer *This,
  13868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13869.     PRPC_MESSAGE _pRpcMessage,
  13870.     DWORD *_pdwStubPhase);
  13871.  
  13872.  
  13873. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  13874.     IAMTVTuner * This,
  13875.     /* [in] */ long lIndex);
  13876.  
  13877.  
  13878. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  13879.     IRpcStubBuffer *This,
  13880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13881.     PRPC_MESSAGE _pRpcMessage,
  13882.     DWORD *_pdwStubPhase);
  13883.  
  13884.  
  13885. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  13886.     IAMTVTuner * This,
  13887.     /* [out] */ long *plIndex);
  13888.  
  13889.  
  13890. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  13891.     IRpcStubBuffer *This,
  13892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13893.     PRPC_MESSAGE _pRpcMessage,
  13894.     DWORD *_pdwStubPhase);
  13895.  
  13896.  
  13897. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  13898.     IAMTVTuner * This,
  13899.     /* [out] */ long *lFreq);
  13900.  
  13901.  
  13902. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  13903.     IRpcStubBuffer *This,
  13904.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13905.     PRPC_MESSAGE _pRpcMessage,
  13906.     DWORD *_pdwStubPhase);
  13907.  
  13908.  
  13909. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  13910.     IAMTVTuner * This,
  13911.     /* [out] */ long *lFreq);
  13912.  
  13913.  
  13914. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  13915.     IRpcStubBuffer *This,
  13916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13917.     PRPC_MESSAGE _pRpcMessage,
  13918.     DWORD *_pdwStubPhase);
  13919.  
  13920.  
  13921.  
  13922. #endif     /* __IAMTVTuner_INTERFACE_DEFINED__ */
  13923.  
  13924.  
  13925. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13926. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  13927.  
  13928. /* interface IBPCSatelliteTuner */
  13929. /* [unique][uuid][local][object] */ 
  13930.  
  13931.  
  13932. EXTERN_C const IID IID_IBPCSatelliteTuner;
  13933.  
  13934. #if defined(__cplusplus) && !defined(CINTERFACE)
  13935.     
  13936.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  13937.     IBPCSatelliteTuner : public IAMTuner
  13938.     {
  13939.     public:
  13940.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  13941.             /* [out] */ long *plDefaultVideoType,
  13942.             /* [out] */ long *plDefaultAudioType) = 0;
  13943.         
  13944.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  13945.             /* [in] */ long lDefaultVideoType,
  13946.             /* [in] */ long lDefaultAudioType) = 0;
  13947.         
  13948.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  13949.         
  13950.     };
  13951.     
  13952. #else     /* C style interface */
  13953.  
  13954.     typedef struct IBPCSatelliteTunerVtbl
  13955.     {
  13956.         BEGIN_INTERFACE
  13957.         
  13958.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  13959.             IBPCSatelliteTuner * This,
  13960.             /* [in] */ REFIID riid,
  13961.             /* [iid_is][out] */ void **ppvObject);
  13962.         
  13963.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  13964.             IBPCSatelliteTuner * This);
  13965.         
  13966.         ULONG ( STDMETHODCALLTYPE *Release )( 
  13967.             IBPCSatelliteTuner * This);
  13968.         
  13969.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  13970.             IBPCSatelliteTuner * This,
  13971.             /* [in] */ long lChannel,
  13972.             /* [in] */ long lVideoSubChannel,
  13973.             /* [in] */ long lAudioSubChannel);
  13974.         
  13975.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  13976.             IBPCSatelliteTuner * This,
  13977.             /* [out] */ long *plChannel,
  13978.             /* [out] */ long *plVideoSubChannel,
  13979.             /* [out] */ long *plAudioSubChannel);
  13980.         
  13981.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  13982.             IBPCSatelliteTuner * This,
  13983.             /* [out] */ long *lChannelMin,
  13984.             /* [out] */ long *lChannelMax);
  13985.         
  13986.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  13987.             IBPCSatelliteTuner * This,
  13988.             /* [in] */ long lCountryCode);
  13989.         
  13990.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  13991.             IBPCSatelliteTuner * This,
  13992.             /* [out] */ long *plCountryCode);
  13993.         
  13994.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  13995.             IBPCSatelliteTuner * This,
  13996.             /* [in] */ long lTuningSpace);
  13997.         
  13998.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  13999.             IBPCSatelliteTuner * This,
  14000.             /* [out] */ long *plTuningSpace);
  14001.         
  14002.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  14003.             IBPCSatelliteTuner * This,
  14004.             /* [in] */ HANDLE hCurrentUser);
  14005.         
  14006.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  14007.             IBPCSatelliteTuner * This);
  14008.         
  14009.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  14010.             IBPCSatelliteTuner * This,
  14011.             /* [out] */ long *plSignalStrength);
  14012.         
  14013.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  14014.             IBPCSatelliteTuner * This,
  14015.             /* [in] */ AMTunerModeType lMode);
  14016.         
  14017.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  14018.             IBPCSatelliteTuner * This,
  14019.             /* [out] */ AMTunerModeType *plMode);
  14020.         
  14021.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  14022.             IBPCSatelliteTuner * This,
  14023.             /* [out] */ long *plModes);
  14024.         
  14025.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14026.             IBPCSatelliteTuner * This,
  14027.             /* [in] */ IAMTunerNotification *pNotify,
  14028.             /* [in] */ long lEvents);
  14029.         
  14030.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14031.             IBPCSatelliteTuner * This,
  14032.             /* [in] */ IAMTunerNotification *pNotify);
  14033.         
  14034.         HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )( 
  14035.             IBPCSatelliteTuner * This,
  14036.             /* [out] */ long *plDefaultVideoType,
  14037.             /* [out] */ long *plDefaultAudioType);
  14038.         
  14039.         HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )( 
  14040.             IBPCSatelliteTuner * This,
  14041.             /* [in] */ long lDefaultVideoType,
  14042.             /* [in] */ long lDefaultAudioType);
  14043.         
  14044.         HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )( 
  14045.             IBPCSatelliteTuner * This);
  14046.         
  14047.         END_INTERFACE
  14048.     } IBPCSatelliteTunerVtbl;
  14049.  
  14050.     interface IBPCSatelliteTuner
  14051.     {
  14052.         CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  14053.     };
  14054.  
  14055.     
  14056.  
  14057. #ifdef COBJMACROS
  14058.  
  14059.  
  14060. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)    \
  14061.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14062.  
  14063. #define IBPCSatelliteTuner_AddRef(This)    \
  14064.     (This)->lpVtbl -> AddRef(This)
  14065.  
  14066. #define IBPCSatelliteTuner_Release(This)    \
  14067.     (This)->lpVtbl -> Release(This)
  14068.  
  14069.  
  14070. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)    \
  14071.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  14072.  
  14073. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)    \
  14074.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  14075.  
  14076. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)    \
  14077.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  14078.  
  14079. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)    \
  14080.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  14081.  
  14082. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)    \
  14083.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  14084.  
  14085. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)    \
  14086.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  14087.  
  14088. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)    \
  14089.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  14090.  
  14091. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)    \
  14092.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  14093.  
  14094. #define IBPCSatelliteTuner_Logout(This)    \
  14095.     (This)->lpVtbl -> Logout(This)
  14096.  
  14097. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)    \
  14098.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  14099.  
  14100. #define IBPCSatelliteTuner_put_Mode(This,lMode)    \
  14101.     (This)->lpVtbl -> put_Mode(This,lMode)
  14102.  
  14103. #define IBPCSatelliteTuner_get_Mode(This,plMode)    \
  14104.     (This)->lpVtbl -> get_Mode(This,plMode)
  14105.  
  14106. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)    \
  14107.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  14108.  
  14109. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14110.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14111.  
  14112. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)    \
  14113.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14114.  
  14115.  
  14116. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)    \
  14117.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  14118.  
  14119. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)    \
  14120.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  14121.  
  14122. #define IBPCSatelliteTuner_IsTapingPermitted(This)    \
  14123.     (This)->lpVtbl -> IsTapingPermitted(This)
  14124.  
  14125. #endif /* COBJMACROS */
  14126.  
  14127.  
  14128. #endif     /* C style interface */
  14129.  
  14130.  
  14131.  
  14132. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  14133.     IBPCSatelliteTuner * This,
  14134.     /* [out] */ long *plDefaultVideoType,
  14135.     /* [out] */ long *plDefaultAudioType);
  14136.  
  14137.  
  14138. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  14139.     IRpcStubBuffer *This,
  14140.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14141.     PRPC_MESSAGE _pRpcMessage,
  14142.     DWORD *_pdwStubPhase);
  14143.  
  14144.  
  14145. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  14146.     IBPCSatelliteTuner * This,
  14147.     /* [in] */ long lDefaultVideoType,
  14148.     /* [in] */ long lDefaultAudioType);
  14149.  
  14150.  
  14151. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  14152.     IRpcStubBuffer *This,
  14153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14154.     PRPC_MESSAGE _pRpcMessage,
  14155.     DWORD *_pdwStubPhase);
  14156.  
  14157.  
  14158. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  14159.     IBPCSatelliteTuner * This);
  14160.  
  14161.  
  14162. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  14163.     IRpcStubBuffer *This,
  14164.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14165.     PRPC_MESSAGE _pRpcMessage,
  14166.     DWORD *_pdwStubPhase);
  14167.  
  14168.  
  14169.  
  14170. #endif     /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  14171.  
  14172.  
  14173. /* interface __MIDL_itf_strmif_0177 */
  14174. /* [local] */ 
  14175.  
  14176. typedef 
  14177. enum tagTVAudioMode
  14178.     {    AMTVAUDIO_MODE_MONO    = 0x1,
  14179.     AMTVAUDIO_MODE_STEREO    = 0x2,
  14180.     AMTVAUDIO_MODE_LANG_A    = 0x10,
  14181.     AMTVAUDIO_MODE_LANG_B    = 0x20,
  14182.     AMTVAUDIO_MODE_LANG_C    = 0x40
  14183.     }     TVAudioMode;
  14184.  
  14185. typedef 
  14186. enum tagAMTVAudioEventType
  14187.     {    AMTVAUDIO_EVENT_CHANGED    = 0x1
  14188.     }     AMTVAudioEventType;
  14189.  
  14190.  
  14191.  
  14192.  
  14193. extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_c_ifspec;
  14194. extern RPC_IF_HANDLE __MIDL_itf_strmif_0177_v0_0_s_ifspec;
  14195.  
  14196. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  14197. #define __IAMTVAudio_INTERFACE_DEFINED__
  14198.  
  14199. /* interface IAMTVAudio */
  14200. /* [unique][uuid][local][object] */ 
  14201.  
  14202.  
  14203. EXTERN_C const IID IID_IAMTVAudio;
  14204.  
  14205. #if defined(__cplusplus) && !defined(CINTERFACE)
  14206.     
  14207.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  14208.     IAMTVAudio : public IUnknown
  14209.     {
  14210.     public:
  14211.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  14212.             /* [out] */ long *plModes) = 0;
  14213.         
  14214.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  14215.             /* [out] */ long *plModes) = 0;
  14216.         
  14217.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  14218.             /* [out] */ long *plMode) = 0;
  14219.         
  14220.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  14221.             /* [in] */ long lMode) = 0;
  14222.         
  14223.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  14224.             /* [in] */ IAMTunerNotification *pNotify,
  14225.             /* [in] */ long lEvents) = 0;
  14226.         
  14227.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  14228.             IAMTunerNotification *pNotify) = 0;
  14229.         
  14230.     };
  14231.     
  14232. #else     /* C style interface */
  14233.  
  14234.     typedef struct IAMTVAudioVtbl
  14235.     {
  14236.         BEGIN_INTERFACE
  14237.         
  14238.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14239.             IAMTVAudio * This,
  14240.             /* [in] */ REFIID riid,
  14241.             /* [iid_is][out] */ void **ppvObject);
  14242.         
  14243.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14244.             IAMTVAudio * This);
  14245.         
  14246.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14247.             IAMTVAudio * This);
  14248.         
  14249.         HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )( 
  14250.             IAMTVAudio * This,
  14251.             /* [out] */ long *plModes);
  14252.         
  14253.         HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )( 
  14254.             IAMTVAudio * This,
  14255.             /* [out] */ long *plModes);
  14256.         
  14257.         HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )( 
  14258.             IAMTVAudio * This,
  14259.             /* [out] */ long *plMode);
  14260.         
  14261.         HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )( 
  14262.             IAMTVAudio * This,
  14263.             /* [in] */ long lMode);
  14264.         
  14265.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  14266.             IAMTVAudio * This,
  14267.             /* [in] */ IAMTunerNotification *pNotify,
  14268.             /* [in] */ long lEvents);
  14269.         
  14270.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  14271.             IAMTVAudio * This,
  14272.             IAMTunerNotification *pNotify);
  14273.         
  14274.         END_INTERFACE
  14275.     } IAMTVAudioVtbl;
  14276.  
  14277.     interface IAMTVAudio
  14278.     {
  14279.         CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  14280.     };
  14281.  
  14282.     
  14283.  
  14284. #ifdef COBJMACROS
  14285.  
  14286.  
  14287. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)    \
  14288.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14289.  
  14290. #define IAMTVAudio_AddRef(This)    \
  14291.     (This)->lpVtbl -> AddRef(This)
  14292.  
  14293. #define IAMTVAudio_Release(This)    \
  14294.     (This)->lpVtbl -> Release(This)
  14295.  
  14296.  
  14297. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)    \
  14298.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  14299.  
  14300. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)    \
  14301.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  14302.  
  14303. #define IAMTVAudio_get_TVAudioMode(This,plMode)    \
  14304.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  14305.  
  14306. #define IAMTVAudio_put_TVAudioMode(This,lMode)    \
  14307.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  14308.  
  14309. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)    \
  14310.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  14311.  
  14312. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)    \
  14313.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  14314.  
  14315. #endif /* COBJMACROS */
  14316.  
  14317.  
  14318. #endif     /* C style interface */
  14319.  
  14320.  
  14321.  
  14322. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  14323.     IAMTVAudio * This,
  14324.     /* [out] */ long *plModes);
  14325.  
  14326.  
  14327. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  14328.     IRpcStubBuffer *This,
  14329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14330.     PRPC_MESSAGE _pRpcMessage,
  14331.     DWORD *_pdwStubPhase);
  14332.  
  14333.  
  14334. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  14335.     IAMTVAudio * This,
  14336.     /* [out] */ long *plModes);
  14337.  
  14338.  
  14339. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  14340.     IRpcStubBuffer *This,
  14341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14342.     PRPC_MESSAGE _pRpcMessage,
  14343.     DWORD *_pdwStubPhase);
  14344.  
  14345.  
  14346. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  14347.     IAMTVAudio * This,
  14348.     /* [out] */ long *plMode);
  14349.  
  14350.  
  14351. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  14352.     IRpcStubBuffer *This,
  14353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14354.     PRPC_MESSAGE _pRpcMessage,
  14355.     DWORD *_pdwStubPhase);
  14356.  
  14357.  
  14358. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  14359.     IAMTVAudio * This,
  14360.     /* [in] */ long lMode);
  14361.  
  14362.  
  14363. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  14364.     IRpcStubBuffer *This,
  14365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14366.     PRPC_MESSAGE _pRpcMessage,
  14367.     DWORD *_pdwStubPhase);
  14368.  
  14369.  
  14370. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  14371.     IAMTVAudio * This,
  14372.     /* [in] */ IAMTunerNotification *pNotify,
  14373.     /* [in] */ long lEvents);
  14374.  
  14375.  
  14376. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  14377.     IRpcStubBuffer *This,
  14378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14379.     PRPC_MESSAGE _pRpcMessage,
  14380.     DWORD *_pdwStubPhase);
  14381.  
  14382.  
  14383. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  14384.     IAMTVAudio * This,
  14385.     IAMTunerNotification *pNotify);
  14386.  
  14387.  
  14388. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  14389.     IRpcStubBuffer *This,
  14390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14391.     PRPC_MESSAGE _pRpcMessage,
  14392.     DWORD *_pdwStubPhase);
  14393.  
  14394.  
  14395.  
  14396. #endif     /* __IAMTVAudio_INTERFACE_DEFINED__ */
  14397.  
  14398.  
  14399. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  14400. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  14401.  
  14402. /* interface IAMTVAudioNotification */
  14403. /* [unique][uuid][local][object] */ 
  14404.  
  14405.  
  14406. EXTERN_C const IID IID_IAMTVAudioNotification;
  14407.  
  14408. #if defined(__cplusplus) && !defined(CINTERFACE)
  14409.     
  14410.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  14411.     IAMTVAudioNotification : public IUnknown
  14412.     {
  14413.     public:
  14414.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  14415.             /* [in] */ AMTVAudioEventType Event) = 0;
  14416.         
  14417.     };
  14418.     
  14419. #else     /* C style interface */
  14420.  
  14421.     typedef struct IAMTVAudioNotificationVtbl
  14422.     {
  14423.         BEGIN_INTERFACE
  14424.         
  14425.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14426.             IAMTVAudioNotification * This,
  14427.             /* [in] */ REFIID riid,
  14428.             /* [iid_is][out] */ void **ppvObject);
  14429.         
  14430.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14431.             IAMTVAudioNotification * This);
  14432.         
  14433.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14434.             IAMTVAudioNotification * This);
  14435.         
  14436.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  14437.             IAMTVAudioNotification * This,
  14438.             /* [in] */ AMTVAudioEventType Event);
  14439.         
  14440.         END_INTERFACE
  14441.     } IAMTVAudioNotificationVtbl;
  14442.  
  14443.     interface IAMTVAudioNotification
  14444.     {
  14445.         CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  14446.     };
  14447.  
  14448.     
  14449.  
  14450. #ifdef COBJMACROS
  14451.  
  14452.  
  14453. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)    \
  14454.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14455.  
  14456. #define IAMTVAudioNotification_AddRef(This)    \
  14457.     (This)->lpVtbl -> AddRef(This)
  14458.  
  14459. #define IAMTVAudioNotification_Release(This)    \
  14460.     (This)->lpVtbl -> Release(This)
  14461.  
  14462.  
  14463. #define IAMTVAudioNotification_OnEvent(This,Event)    \
  14464.     (This)->lpVtbl -> OnEvent(This,Event)
  14465.  
  14466. #endif /* COBJMACROS */
  14467.  
  14468.  
  14469. #endif     /* C style interface */
  14470.  
  14471.  
  14472.  
  14473. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  14474.     IAMTVAudioNotification * This,
  14475.     /* [in] */ AMTVAudioEventType Event);
  14476.  
  14477.  
  14478. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  14479.     IRpcStubBuffer *This,
  14480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14481.     PRPC_MESSAGE _pRpcMessage,
  14482.     DWORD *_pdwStubPhase);
  14483.  
  14484.  
  14485.  
  14486. #endif     /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  14487.  
  14488.  
  14489. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14490. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  14491.  
  14492. /* interface IAMAnalogVideoEncoder */
  14493. /* [unique][uuid][object] */ 
  14494.  
  14495.  
  14496. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  14497.  
  14498. #if defined(__cplusplus) && !defined(CINTERFACE)
  14499.     
  14500.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  14501.     IAMAnalogVideoEncoder : public IUnknown
  14502.     {
  14503.     public:
  14504.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  14505.             /* [out] */ long *lAnalogVideoStandard) = 0;
  14506.         
  14507.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  14508.             /* [in] */ long lAnalogVideoStandard) = 0;
  14509.         
  14510.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  14511.             /* [out] */ long *plAnalogVideoStandard) = 0;
  14512.         
  14513.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  14514.             /* [in] */ long lVideoCopyProtection) = 0;
  14515.         
  14516.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  14517.             /* [out] */ long *lVideoCopyProtection) = 0;
  14518.         
  14519.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  14520.             /* [in] */ long lCCEnable) = 0;
  14521.         
  14522.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  14523.             /* [out] */ long *lCCEnable) = 0;
  14524.         
  14525.     };
  14526.     
  14527. #else     /* C style interface */
  14528.  
  14529.     typedef struct IAMAnalogVideoEncoderVtbl
  14530.     {
  14531.         BEGIN_INTERFACE
  14532.         
  14533.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14534.             IAMAnalogVideoEncoder * This,
  14535.             /* [in] */ REFIID riid,
  14536.             /* [iid_is][out] */ void **ppvObject);
  14537.         
  14538.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14539.             IAMAnalogVideoEncoder * This);
  14540.         
  14541.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14542.             IAMAnalogVideoEncoder * This);
  14543.         
  14544.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  14545.             IAMAnalogVideoEncoder * This,
  14546.             /* [out] */ long *lAnalogVideoStandard);
  14547.         
  14548.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  14549.             IAMAnalogVideoEncoder * This,
  14550.             /* [in] */ long lAnalogVideoStandard);
  14551.         
  14552.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  14553.             IAMAnalogVideoEncoder * This,
  14554.             /* [out] */ long *plAnalogVideoStandard);
  14555.         
  14556.         HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )( 
  14557.             IAMAnalogVideoEncoder * This,
  14558.             /* [in] */ long lVideoCopyProtection);
  14559.         
  14560.         HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )( 
  14561.             IAMAnalogVideoEncoder * This,
  14562.             /* [out] */ long *lVideoCopyProtection);
  14563.         
  14564.         HRESULT ( STDMETHODCALLTYPE *put_CCEnable )( 
  14565.             IAMAnalogVideoEncoder * This,
  14566.             /* [in] */ long lCCEnable);
  14567.         
  14568.         HRESULT ( STDMETHODCALLTYPE *get_CCEnable )( 
  14569.             IAMAnalogVideoEncoder * This,
  14570.             /* [out] */ long *lCCEnable);
  14571.         
  14572.         END_INTERFACE
  14573.     } IAMAnalogVideoEncoderVtbl;
  14574.  
  14575.     interface IAMAnalogVideoEncoder
  14576.     {
  14577.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  14578.     };
  14579.  
  14580.     
  14581.  
  14582. #ifdef COBJMACROS
  14583.  
  14584.  
  14585. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)    \
  14586.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14587.  
  14588. #define IAMAnalogVideoEncoder_AddRef(This)    \
  14589.     (This)->lpVtbl -> AddRef(This)
  14590.  
  14591. #define IAMAnalogVideoEncoder_Release(This)    \
  14592.     (This)->lpVtbl -> Release(This)
  14593.  
  14594.  
  14595. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)    \
  14596.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  14597.  
  14598. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)    \
  14599.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  14600.  
  14601. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)    \
  14602.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  14603.  
  14604. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)    \
  14605.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  14606.  
  14607. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)    \
  14608.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  14609.  
  14610. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)    \
  14611.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  14612.  
  14613. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)    \
  14614.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  14615.  
  14616. #endif /* COBJMACROS */
  14617.  
  14618.  
  14619. #endif     /* C style interface */
  14620.  
  14621.  
  14622.  
  14623. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  14624.     IAMAnalogVideoEncoder * This,
  14625.     /* [out] */ long *lAnalogVideoStandard);
  14626.  
  14627.  
  14628. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  14629.     IRpcStubBuffer *This,
  14630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14631.     PRPC_MESSAGE _pRpcMessage,
  14632.     DWORD *_pdwStubPhase);
  14633.  
  14634.  
  14635. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  14636.     IAMAnalogVideoEncoder * This,
  14637.     /* [in] */ long lAnalogVideoStandard);
  14638.  
  14639.  
  14640. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  14641.     IRpcStubBuffer *This,
  14642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14643.     PRPC_MESSAGE _pRpcMessage,
  14644.     DWORD *_pdwStubPhase);
  14645.  
  14646.  
  14647. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  14648.     IAMAnalogVideoEncoder * This,
  14649.     /* [out] */ long *plAnalogVideoStandard);
  14650.  
  14651.  
  14652. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  14653.     IRpcStubBuffer *This,
  14654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14655.     PRPC_MESSAGE _pRpcMessage,
  14656.     DWORD *_pdwStubPhase);
  14657.  
  14658.  
  14659. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  14660.     IAMAnalogVideoEncoder * This,
  14661.     /* [in] */ long lVideoCopyProtection);
  14662.  
  14663.  
  14664. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  14665.     IRpcStubBuffer *This,
  14666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14667.     PRPC_MESSAGE _pRpcMessage,
  14668.     DWORD *_pdwStubPhase);
  14669.  
  14670.  
  14671. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  14672.     IAMAnalogVideoEncoder * This,
  14673.     /* [out] */ long *lVideoCopyProtection);
  14674.  
  14675.  
  14676. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  14677.     IRpcStubBuffer *This,
  14678.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14679.     PRPC_MESSAGE _pRpcMessage,
  14680.     DWORD *_pdwStubPhase);
  14681.  
  14682.  
  14683. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  14684.     IAMAnalogVideoEncoder * This,
  14685.     /* [in] */ long lCCEnable);
  14686.  
  14687.  
  14688. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  14689.     IRpcStubBuffer *This,
  14690.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14691.     PRPC_MESSAGE _pRpcMessage,
  14692.     DWORD *_pdwStubPhase);
  14693.  
  14694.  
  14695. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  14696.     IAMAnalogVideoEncoder * This,
  14697.     /* [out] */ long *lCCEnable);
  14698.  
  14699.  
  14700. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  14701.     IRpcStubBuffer *This,
  14702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14703.     PRPC_MESSAGE _pRpcMessage,
  14704.     DWORD *_pdwStubPhase);
  14705.  
  14706.  
  14707.  
  14708. #endif     /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  14709.  
  14710.  
  14711. /* interface __MIDL_itf_strmif_0180 */
  14712. /* [local] */ 
  14713.  
  14714. typedef /* [public] */ 
  14715. enum __MIDL___MIDL_itf_strmif_0180_0001
  14716.     {    AMPROPERTY_PIN_CATEGORY    = 0,
  14717.     AMPROPERTY_PIN_MEDIUM    = AMPROPERTY_PIN_CATEGORY + 1
  14718.     }     AMPROPERTY_PIN;
  14719.  
  14720. #ifndef _IKsPropertySet_
  14721. #define _IKsPropertySet_
  14722. #define KSPROPERTY_SUPPORT_GET  1
  14723. #define KSPROPERTY_SUPPORT_SET  2
  14724.  
  14725.  
  14726. extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_c_ifspec;
  14727. extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_s_ifspec;
  14728.  
  14729. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  14730. #define __IKsPropertySet_INTERFACE_DEFINED__
  14731.  
  14732. /* interface IKsPropertySet */
  14733. /* [unique][uuid][object] */ 
  14734.  
  14735.  
  14736. EXTERN_C const IID IID_IKsPropertySet;
  14737.  
  14738. #if defined(__cplusplus) && !defined(CINTERFACE)
  14739.     
  14740.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  14741.     IKsPropertySet : public IUnknown
  14742.     {
  14743.     public:
  14744.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set( 
  14745.             /* [in] */ REFGUID guidPropSet,
  14746.             /* [in] */ DWORD dwPropID,
  14747.             /* [size_is][in] */ LPVOID pInstanceData,
  14748.             /* [in] */ DWORD cbInstanceData,
  14749.             /* [size_is][in] */ LPVOID pPropData,
  14750.             /* [in] */ DWORD cbPropData) = 0;
  14751.         
  14752.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get( 
  14753.             /* [in] */ REFGUID guidPropSet,
  14754.             /* [in] */ DWORD dwPropID,
  14755.             /* [size_is][in] */ LPVOID pInstanceData,
  14756.             /* [in] */ DWORD cbInstanceData,
  14757.             /* [size_is][out] */ LPVOID pPropData,
  14758.             /* [in] */ DWORD cbPropData,
  14759.             /* [out] */ DWORD *pcbReturned) = 0;
  14760.         
  14761.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  14762.             /* [in] */ REFGUID guidPropSet,
  14763.             /* [in] */ DWORD dwPropID,
  14764.             /* [out] */ DWORD *pTypeSupport) = 0;
  14765.         
  14766.     };
  14767.     
  14768. #else     /* C style interface */
  14769.  
  14770.     typedef struct IKsPropertySetVtbl
  14771.     {
  14772.         BEGIN_INTERFACE
  14773.         
  14774.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14775.             IKsPropertySet * This,
  14776.             /* [in] */ REFIID riid,
  14777.             /* [iid_is][out] */ void **ppvObject);
  14778.         
  14779.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14780.             IKsPropertySet * This);
  14781.         
  14782.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14783.             IKsPropertySet * This);
  14784.         
  14785.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
  14786.             IKsPropertySet * This,
  14787.             /* [in] */ REFGUID guidPropSet,
  14788.             /* [in] */ DWORD dwPropID,
  14789.             /* [size_is][in] */ LPVOID pInstanceData,
  14790.             /* [in] */ DWORD cbInstanceData,
  14791.             /* [size_is][in] */ LPVOID pPropData,
  14792.             /* [in] */ DWORD cbPropData);
  14793.         
  14794.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  14795.             IKsPropertySet * This,
  14796.             /* [in] */ REFGUID guidPropSet,
  14797.             /* [in] */ DWORD dwPropID,
  14798.             /* [size_is][in] */ LPVOID pInstanceData,
  14799.             /* [in] */ DWORD cbInstanceData,
  14800.             /* [size_is][out] */ LPVOID pPropData,
  14801.             /* [in] */ DWORD cbPropData,
  14802.             /* [out] */ DWORD *pcbReturned);
  14803.         
  14804.         HRESULT ( STDMETHODCALLTYPE *QuerySupported )( 
  14805.             IKsPropertySet * This,
  14806.             /* [in] */ REFGUID guidPropSet,
  14807.             /* [in] */ DWORD dwPropID,
  14808.             /* [out] */ DWORD *pTypeSupport);
  14809.         
  14810.         END_INTERFACE
  14811.     } IKsPropertySetVtbl;
  14812.  
  14813.     interface IKsPropertySet
  14814.     {
  14815.         CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  14816.     };
  14817.  
  14818.     
  14819.  
  14820. #ifdef COBJMACROS
  14821.  
  14822.  
  14823. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)    \
  14824.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14825.  
  14826. #define IKsPropertySet_AddRef(This)    \
  14827.     (This)->lpVtbl -> AddRef(This)
  14828.  
  14829. #define IKsPropertySet_Release(This)    \
  14830.     (This)->lpVtbl -> Release(This)
  14831.  
  14832.  
  14833. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)    \
  14834.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  14835.  
  14836. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)    \
  14837.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  14838.  
  14839. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)    \
  14840.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  14841.  
  14842. #endif /* COBJMACROS */
  14843.  
  14844.  
  14845. #endif     /* C style interface */
  14846.  
  14847.  
  14848.  
  14849. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy( 
  14850.     IKsPropertySet * This,
  14851.     /* [in] */ REFGUID guidPropSet,
  14852.     /* [in] */ DWORD dwPropID,
  14853.     /* [size_is][in] */ byte *pInstanceData,
  14854.     /* [in] */ DWORD cbInstanceData,
  14855.     /* [size_is][in] */ byte *pPropData,
  14856.     /* [in] */ DWORD cbPropData);
  14857.  
  14858.  
  14859. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  14860.     IRpcStubBuffer *This,
  14861.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14862.     PRPC_MESSAGE _pRpcMessage,
  14863.     DWORD *_pdwStubPhase);
  14864.  
  14865.  
  14866. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy( 
  14867.     IKsPropertySet * This,
  14868.     /* [in] */ REFGUID guidPropSet,
  14869.     /* [in] */ DWORD dwPropID,
  14870.     /* [size_is][in] */ byte *pInstanceData,
  14871.     /* [in] */ DWORD cbInstanceData,
  14872.     /* [size_is][out] */ byte *pPropData,
  14873.     /* [in] */ DWORD cbPropData,
  14874.     /* [out] */ DWORD *pcbReturned);
  14875.  
  14876.  
  14877. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  14878.     IRpcStubBuffer *This,
  14879.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14880.     PRPC_MESSAGE _pRpcMessage,
  14881.     DWORD *_pdwStubPhase);
  14882.  
  14883.  
  14884. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  14885.     IKsPropertySet * This,
  14886.     /* [in] */ REFGUID guidPropSet,
  14887.     /* [in] */ DWORD dwPropID,
  14888.     /* [out] */ DWORD *pTypeSupport);
  14889.  
  14890.  
  14891. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  14892.     IRpcStubBuffer *This,
  14893.     IRpcChannelBuffer *_pRpcChannelBuffer,
  14894.     PRPC_MESSAGE _pRpcMessage,
  14895.     DWORD *_pdwStubPhase);
  14896.  
  14897.  
  14898.  
  14899. #endif     /* __IKsPropertySet_INTERFACE_DEFINED__ */
  14900.  
  14901.  
  14902. /* interface __MIDL_itf_strmif_0181 */
  14903. /* [local] */ 
  14904.  
  14905. #endif // _IKsPropertySet_
  14906.  
  14907.  
  14908. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_c_ifspec;
  14909. extern RPC_IF_HANDLE __MIDL_itf_strmif_0181_v0_0_s_ifspec;
  14910.  
  14911. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  14912. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  14913.  
  14914. /* interface IMediaPropertyBag */
  14915. /* [unique][uuid][object] */ 
  14916.  
  14917. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  14918.  
  14919.  
  14920. EXTERN_C const IID IID_IMediaPropertyBag;
  14921.  
  14922. #if defined(__cplusplus) && !defined(CINTERFACE)
  14923.     
  14924.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  14925.     IMediaPropertyBag : public IPropertyBag
  14926.     {
  14927.     public:
  14928.         virtual HRESULT STDMETHODCALLTYPE EnumProperty( 
  14929.             /* [in] */ ULONG iProperty,
  14930.             /* [out][in] */ VARIANT *pvarPropertyName,
  14931.             /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  14932.         
  14933.     };
  14934.     
  14935. #else     /* C style interface */
  14936.  
  14937.     typedef struct IMediaPropertyBagVtbl
  14938.     {
  14939.         BEGIN_INTERFACE
  14940.         
  14941.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  14942.             IMediaPropertyBag * This,
  14943.             /* [in] */ REFIID riid,
  14944.             /* [iid_is][out] */ void **ppvObject);
  14945.         
  14946.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  14947.             IMediaPropertyBag * This);
  14948.         
  14949.         ULONG ( STDMETHODCALLTYPE *Release )( 
  14950.             IMediaPropertyBag * This);
  14951.         
  14952.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  14953.             IMediaPropertyBag * This,
  14954.             /* [in] */ LPCOLESTR pszPropName,
  14955.             /* [out][in] */ VARIANT *pVar,
  14956.             /* [in] */ IErrorLog *pErrorLog);
  14957.         
  14958.         HRESULT ( STDMETHODCALLTYPE *Write )( 
  14959.             IMediaPropertyBag * This,
  14960.             /* [in] */ LPCOLESTR pszPropName,
  14961.             /* [in] */ VARIANT *pVar);
  14962.         
  14963.         HRESULT ( STDMETHODCALLTYPE *EnumProperty )( 
  14964.             IMediaPropertyBag * This,
  14965.             /* [in] */ ULONG iProperty,
  14966.             /* [out][in] */ VARIANT *pvarPropertyName,
  14967.             /* [out][in] */ VARIANT *pvarPropertyValue);
  14968.         
  14969.         END_INTERFACE
  14970.     } IMediaPropertyBagVtbl;
  14971.  
  14972.     interface IMediaPropertyBag
  14973.     {
  14974.         CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  14975.     };
  14976.  
  14977.     
  14978.  
  14979. #ifdef COBJMACROS
  14980.  
  14981.  
  14982. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  14983.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  14984.  
  14985. #define IMediaPropertyBag_AddRef(This)    \
  14986.     (This)->lpVtbl -> AddRef(This)
  14987.  
  14988. #define IMediaPropertyBag_Release(This)    \
  14989.     (This)->lpVtbl -> Release(This)
  14990.  
  14991.  
  14992. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)    \
  14993.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  14994.  
  14995. #define IMediaPropertyBag_Write(This,pszPropName,pVar)    \
  14996.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  14997.  
  14998.  
  14999. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)    \
  15000.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  15001.  
  15002. #endif /* COBJMACROS */
  15003.  
  15004.  
  15005. #endif     /* C style interface */
  15006.  
  15007.  
  15008.  
  15009. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  15010.     IMediaPropertyBag * This,
  15011.     /* [in] */ ULONG iProperty,
  15012.     /* [out][in] */ VARIANT *pvarPropertyName,
  15013.     /* [out][in] */ VARIANT *pvarPropertyValue);
  15014.  
  15015.  
  15016. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  15017.     IRpcStubBuffer *This,
  15018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15019.     PRPC_MESSAGE _pRpcMessage,
  15020.     DWORD *_pdwStubPhase);
  15021.  
  15022.  
  15023.  
  15024. #endif     /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  15025.  
  15026.  
  15027. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15028. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  15029.  
  15030. /* interface IPersistMediaPropertyBag */
  15031. /* [unique][uuid][object] */ 
  15032.  
  15033. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  15034.  
  15035.  
  15036. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  15037.  
  15038. #if defined(__cplusplus) && !defined(CINTERFACE)
  15039.     
  15040.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  15041.     IPersistMediaPropertyBag : public IPersist
  15042.     {
  15043.     public:
  15044.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  15045.         
  15046.         virtual HRESULT STDMETHODCALLTYPE Load( 
  15047.             /* [in] */ IMediaPropertyBag *pPropBag,
  15048.             /* [in] */ IErrorLog *pErrorLog) = 0;
  15049.         
  15050.         virtual HRESULT STDMETHODCALLTYPE Save( 
  15051.             /* [in] */ IMediaPropertyBag *pPropBag,
  15052.             /* [in] */ BOOL fClearDirty,
  15053.             /* [in] */ BOOL fSaveAllProperties) = 0;
  15054.         
  15055.     };
  15056.     
  15057. #else     /* C style interface */
  15058.  
  15059.     typedef struct IPersistMediaPropertyBagVtbl
  15060.     {
  15061.         BEGIN_INTERFACE
  15062.         
  15063.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15064.             IPersistMediaPropertyBag * This,
  15065.             /* [in] */ REFIID riid,
  15066.             /* [iid_is][out] */ void **ppvObject);
  15067.         
  15068.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15069.             IPersistMediaPropertyBag * This);
  15070.         
  15071.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15072.             IPersistMediaPropertyBag * This);
  15073.         
  15074.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  15075.             IPersistMediaPropertyBag * This,
  15076.             /* [out] */ CLSID *pClassID);
  15077.         
  15078.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  15079.             IPersistMediaPropertyBag * This);
  15080.         
  15081.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  15082.             IPersistMediaPropertyBag * This,
  15083.             /* [in] */ IMediaPropertyBag *pPropBag,
  15084.             /* [in] */ IErrorLog *pErrorLog);
  15085.         
  15086.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  15087.             IPersistMediaPropertyBag * This,
  15088.             /* [in] */ IMediaPropertyBag *pPropBag,
  15089.             /* [in] */ BOOL fClearDirty,
  15090.             /* [in] */ BOOL fSaveAllProperties);
  15091.         
  15092.         END_INTERFACE
  15093.     } IPersistMediaPropertyBagVtbl;
  15094.  
  15095.     interface IPersistMediaPropertyBag
  15096.     {
  15097.         CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  15098.     };
  15099.  
  15100.     
  15101.  
  15102. #ifdef COBJMACROS
  15103.  
  15104.  
  15105. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)    \
  15106.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15107.  
  15108. #define IPersistMediaPropertyBag_AddRef(This)    \
  15109.     (This)->lpVtbl -> AddRef(This)
  15110.  
  15111. #define IPersistMediaPropertyBag_Release(This)    \
  15112.     (This)->lpVtbl -> Release(This)
  15113.  
  15114.  
  15115. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)    \
  15116.     (This)->lpVtbl -> GetClassID(This,pClassID)
  15117.  
  15118.  
  15119. #define IPersistMediaPropertyBag_InitNew(This)    \
  15120.     (This)->lpVtbl -> InitNew(This)
  15121.  
  15122. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)    \
  15123.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  15124.  
  15125. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)    \
  15126.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  15127.  
  15128. #endif /* COBJMACROS */
  15129.  
  15130.  
  15131. #endif     /* C style interface */
  15132.  
  15133.  
  15134.  
  15135. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  15136.     IPersistMediaPropertyBag * This);
  15137.  
  15138.  
  15139. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  15140.     IRpcStubBuffer *This,
  15141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15142.     PRPC_MESSAGE _pRpcMessage,
  15143.     DWORD *_pdwStubPhase);
  15144.  
  15145.  
  15146. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  15147.     IPersistMediaPropertyBag * This,
  15148.     /* [in] */ IMediaPropertyBag *pPropBag,
  15149.     /* [in] */ IErrorLog *pErrorLog);
  15150.  
  15151.  
  15152. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  15153.     IRpcStubBuffer *This,
  15154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15155.     PRPC_MESSAGE _pRpcMessage,
  15156.     DWORD *_pdwStubPhase);
  15157.  
  15158.  
  15159. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  15160.     IPersistMediaPropertyBag * This,
  15161.     /* [in] */ IMediaPropertyBag *pPropBag,
  15162.     /* [in] */ BOOL fClearDirty,
  15163.     /* [in] */ BOOL fSaveAllProperties);
  15164.  
  15165.  
  15166. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  15167.     IRpcStubBuffer *This,
  15168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15169.     PRPC_MESSAGE _pRpcMessage,
  15170.     DWORD *_pdwStubPhase);
  15171.  
  15172.  
  15173.  
  15174. #endif     /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  15175.  
  15176.  
  15177. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15178. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  15179.  
  15180. /* interface IAMPhysicalPinInfo */
  15181. /* [unique][uuid][object] */ 
  15182.  
  15183.  
  15184. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  15185.  
  15186. #if defined(__cplusplus) && !defined(CINTERFACE)
  15187.     
  15188.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  15189.     IAMPhysicalPinInfo : public IUnknown
  15190.     {
  15191.     public:
  15192.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  15193.             /* [out] */ long *pType,
  15194.             /* [out] */ LPOLESTR *ppszType) = 0;
  15195.         
  15196.     };
  15197.     
  15198. #else     /* C style interface */
  15199.  
  15200.     typedef struct IAMPhysicalPinInfoVtbl
  15201.     {
  15202.         BEGIN_INTERFACE
  15203.         
  15204.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15205.             IAMPhysicalPinInfo * This,
  15206.             /* [in] */ REFIID riid,
  15207.             /* [iid_is][out] */ void **ppvObject);
  15208.         
  15209.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15210.             IAMPhysicalPinInfo * This);
  15211.         
  15212.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15213.             IAMPhysicalPinInfo * This);
  15214.         
  15215.         HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )( 
  15216.             IAMPhysicalPinInfo * This,
  15217.             /* [out] */ long *pType,
  15218.             /* [out] */ LPOLESTR *ppszType);
  15219.         
  15220.         END_INTERFACE
  15221.     } IAMPhysicalPinInfoVtbl;
  15222.  
  15223.     interface IAMPhysicalPinInfo
  15224.     {
  15225.         CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  15226.     };
  15227.  
  15228.     
  15229.  
  15230. #ifdef COBJMACROS
  15231.  
  15232.  
  15233. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)    \
  15234.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15235.  
  15236. #define IAMPhysicalPinInfo_AddRef(This)    \
  15237.     (This)->lpVtbl -> AddRef(This)
  15238.  
  15239. #define IAMPhysicalPinInfo_Release(This)    \
  15240.     (This)->lpVtbl -> Release(This)
  15241.  
  15242.  
  15243. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)    \
  15244.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  15245.  
  15246. #endif /* COBJMACROS */
  15247.  
  15248.  
  15249. #endif     /* C style interface */
  15250.  
  15251.  
  15252.  
  15253. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  15254.     IAMPhysicalPinInfo * This,
  15255.     /* [out] */ long *pType,
  15256.     /* [out] */ LPOLESTR *ppszType);
  15257.  
  15258.  
  15259. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  15260.     IRpcStubBuffer *This,
  15261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15262.     PRPC_MESSAGE _pRpcMessage,
  15263.     DWORD *_pdwStubPhase);
  15264.  
  15265.  
  15266.  
  15267. #endif     /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  15268.  
  15269.  
  15270. /* interface __MIDL_itf_strmif_0328 */
  15271. /* [local] */ 
  15272.  
  15273. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  15274.  
  15275.  
  15276.  
  15277. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_c_ifspec;
  15278. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_s_ifspec;
  15279.  
  15280. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  15281. #define __IAMExtDevice_INTERFACE_DEFINED__
  15282.  
  15283. /* interface IAMExtDevice */
  15284. /* [unique][uuid][object] */ 
  15285.  
  15286.  
  15287. EXTERN_C const IID IID_IAMExtDevice;
  15288.  
  15289. #if defined(__cplusplus) && !defined(CINTERFACE)
  15290.     
  15291.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  15292.     IAMExtDevice : public IUnknown
  15293.     {
  15294.     public:
  15295.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15296.             /* [in] */ long Capability,
  15297.             /* [out] */ long *pValue,
  15298.             /* [out] */ double *pdblValue) = 0;
  15299.         
  15300.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  15301.             /* [out] */ LPOLESTR *ppszData) = 0;
  15302.         
  15303.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  15304.             /* [out] */ LPOLESTR *ppszData) = 0;
  15305.         
  15306.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  15307.             /* [in] */ long PowerMode) = 0;
  15308.         
  15309.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  15310.             /* [out] */ long *pPowerMode) = 0;
  15311.         
  15312.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  15313.             /* [in] */ HEVENT hEvent,
  15314.             /* [in] */ long Mode,
  15315.             /* [out] */ long *pStatus) = 0;
  15316.         
  15317.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  15318.             /* [in] */ long DevicePort) = 0;
  15319.         
  15320.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  15321.             /* [out] */ long *pDevicePort) = 0;
  15322.         
  15323.     };
  15324.     
  15325. #else     /* C style interface */
  15326.  
  15327.     typedef struct IAMExtDeviceVtbl
  15328.     {
  15329.         BEGIN_INTERFACE
  15330.         
  15331.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15332.             IAMExtDevice * This,
  15333.             /* [in] */ REFIID riid,
  15334.             /* [iid_is][out] */ void **ppvObject);
  15335.         
  15336.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15337.             IAMExtDevice * This);
  15338.         
  15339.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15340.             IAMExtDevice * This);
  15341.         
  15342.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15343.             IAMExtDevice * This,
  15344.             /* [in] */ long Capability,
  15345.             /* [out] */ long *pValue,
  15346.             /* [out] */ double *pdblValue);
  15347.         
  15348.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )( 
  15349.             IAMExtDevice * This,
  15350.             /* [out] */ LPOLESTR *ppszData);
  15351.         
  15352.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )( 
  15353.             IAMExtDevice * This,
  15354.             /* [out] */ LPOLESTR *ppszData);
  15355.         
  15356.         HRESULT ( STDMETHODCALLTYPE *put_DevicePower )( 
  15357.             IAMExtDevice * This,
  15358.             /* [in] */ long PowerMode);
  15359.         
  15360.         HRESULT ( STDMETHODCALLTYPE *get_DevicePower )( 
  15361.             IAMExtDevice * This,
  15362.             /* [out] */ long *pPowerMode);
  15363.         
  15364.         HRESULT ( STDMETHODCALLTYPE *Calibrate )( 
  15365.             IAMExtDevice * This,
  15366.             /* [in] */ HEVENT hEvent,
  15367.             /* [in] */ long Mode,
  15368.             /* [out] */ long *pStatus);
  15369.         
  15370.         HRESULT ( STDMETHODCALLTYPE *put_DevicePort )( 
  15371.             IAMExtDevice * This,
  15372.             /* [in] */ long DevicePort);
  15373.         
  15374.         HRESULT ( STDMETHODCALLTYPE *get_DevicePort )( 
  15375.             IAMExtDevice * This,
  15376.             /* [out] */ long *pDevicePort);
  15377.         
  15378.         END_INTERFACE
  15379.     } IAMExtDeviceVtbl;
  15380.  
  15381.     interface IAMExtDevice
  15382.     {
  15383.         CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  15384.     };
  15385.  
  15386.     
  15387.  
  15388. #ifdef COBJMACROS
  15389.  
  15390.  
  15391. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)    \
  15392.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15393.  
  15394. #define IAMExtDevice_AddRef(This)    \
  15395.     (This)->lpVtbl -> AddRef(This)
  15396.  
  15397. #define IAMExtDevice_Release(This)    \
  15398.     (This)->lpVtbl -> Release(This)
  15399.  
  15400.  
  15401. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)    \
  15402.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15403.  
  15404. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)    \
  15405.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  15406.  
  15407. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)    \
  15408.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  15409.  
  15410. #define IAMExtDevice_put_DevicePower(This,PowerMode)    \
  15411.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  15412.  
  15413. #define IAMExtDevice_get_DevicePower(This,pPowerMode)    \
  15414.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  15415.  
  15416. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)    \
  15417.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  15418.  
  15419. #define IAMExtDevice_put_DevicePort(This,DevicePort)    \
  15420.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  15421.  
  15422. #define IAMExtDevice_get_DevicePort(This,pDevicePort)    \
  15423.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  15424.  
  15425. #endif /* COBJMACROS */
  15426.  
  15427.  
  15428. #endif     /* C style interface */
  15429.  
  15430.  
  15431.  
  15432. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  15433.     IAMExtDevice * This,
  15434.     /* [in] */ long Capability,
  15435.     /* [out] */ long *pValue,
  15436.     /* [out] */ double *pdblValue);
  15437.  
  15438.  
  15439. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  15440.     IRpcStubBuffer *This,
  15441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15442.     PRPC_MESSAGE _pRpcMessage,
  15443.     DWORD *_pdwStubPhase);
  15444.  
  15445.  
  15446. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  15447.     IAMExtDevice * This,
  15448.     /* [out] */ LPOLESTR *ppszData);
  15449.  
  15450.  
  15451. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  15452.     IRpcStubBuffer *This,
  15453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15454.     PRPC_MESSAGE _pRpcMessage,
  15455.     DWORD *_pdwStubPhase);
  15456.  
  15457.  
  15458. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  15459.     IAMExtDevice * This,
  15460.     /* [out] */ LPOLESTR *ppszData);
  15461.  
  15462.  
  15463. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  15464.     IRpcStubBuffer *This,
  15465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15466.     PRPC_MESSAGE _pRpcMessage,
  15467.     DWORD *_pdwStubPhase);
  15468.  
  15469.  
  15470. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  15471.     IAMExtDevice * This,
  15472.     /* [in] */ long PowerMode);
  15473.  
  15474.  
  15475. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  15476.     IRpcStubBuffer *This,
  15477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15478.     PRPC_MESSAGE _pRpcMessage,
  15479.     DWORD *_pdwStubPhase);
  15480.  
  15481.  
  15482. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  15483.     IAMExtDevice * This,
  15484.     /* [out] */ long *pPowerMode);
  15485.  
  15486.  
  15487. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  15488.     IRpcStubBuffer *This,
  15489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15490.     PRPC_MESSAGE _pRpcMessage,
  15491.     DWORD *_pdwStubPhase);
  15492.  
  15493.  
  15494. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  15495.     IAMExtDevice * This,
  15496.     /* [in] */ HEVENT hEvent,
  15497.     /* [in] */ long Mode,
  15498.     /* [out] */ long *pStatus);
  15499.  
  15500.  
  15501. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  15502.     IRpcStubBuffer *This,
  15503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15504.     PRPC_MESSAGE _pRpcMessage,
  15505.     DWORD *_pdwStubPhase);
  15506.  
  15507.  
  15508. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  15509.     IAMExtDevice * This,
  15510.     /* [in] */ long DevicePort);
  15511.  
  15512.  
  15513. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  15514.     IRpcStubBuffer *This,
  15515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15516.     PRPC_MESSAGE _pRpcMessage,
  15517.     DWORD *_pdwStubPhase);
  15518.  
  15519.  
  15520. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  15521.     IAMExtDevice * This,
  15522.     /* [out] */ long *pDevicePort);
  15523.  
  15524.  
  15525. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  15526.     IRpcStubBuffer *This,
  15527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15528.     PRPC_MESSAGE _pRpcMessage,
  15529.     DWORD *_pdwStubPhase);
  15530.  
  15531.  
  15532.  
  15533. #endif     /* __IAMExtDevice_INTERFACE_DEFINED__ */
  15534.  
  15535.  
  15536. /* interface __MIDL_itf_strmif_0329 */
  15537. /* [local] */ 
  15538.  
  15539. typedef IAMExtDevice *PEXTDEVICE;
  15540.  
  15541.  
  15542.  
  15543. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;
  15544. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;
  15545.  
  15546. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  15547. #define __IAMExtTransport_INTERFACE_DEFINED__
  15548.  
  15549. /* interface IAMExtTransport */
  15550. /* [unique][uuid][object] */ 
  15551.  
  15552.  
  15553. EXTERN_C const IID IID_IAMExtTransport;
  15554.  
  15555. #if defined(__cplusplus) && !defined(CINTERFACE)
  15556.     
  15557.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  15558.     IAMExtTransport : public IUnknown
  15559.     {
  15560.     public:
  15561.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  15562.             /* [in] */ long Capability,
  15563.             /* [out] */ long *pValue,
  15564.             /* [out] */ double *pdblValue) = 0;
  15565.         
  15566.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  15567.             /* [in] */ long State) = 0;
  15568.         
  15569.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  15570.             /* [out] */ long *pState) = 0;
  15571.         
  15572.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  15573.             /* [in] */ long State) = 0;
  15574.         
  15575.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  15576.             /* [out] */ long *pState) = 0;
  15577.         
  15578.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  15579.             /* [in] */ long StatusItem,
  15580.             /* [out] */ long *pValue) = 0;
  15581.         
  15582.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  15583.             /* [in] */ long Param,
  15584.             /* [out] */ long *pValue,
  15585.             /* [out] */ LPOLESTR *ppszData) = 0;
  15586.         
  15587.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  15588.             /* [in] */ long Param,
  15589.             /* [in] */ long Value,
  15590.             /* [in] */ LPCOLESTR pszData) = 0;
  15591.         
  15592.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  15593.             /* [in] */ long Param,
  15594.             /* [out] */ long *pValue) = 0;
  15595.         
  15596.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  15597.             /* [in] */ long Param,
  15598.             /* [in] */ long Value) = 0;
  15599.         
  15600.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  15601.             /* [in] */ long Param,
  15602.             /* [out] */ long *pValue) = 0;
  15603.         
  15604.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  15605.             /* [in] */ long Param,
  15606.             /* [in] */ long Value) = 0;
  15607.         
  15608.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  15609.             /* [in] */ long Mode) = 0;
  15610.         
  15611.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  15612.             /* [out] */ long *pMode) = 0;
  15613.         
  15614.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  15615.             /* [in] */ double dblRate) = 0;
  15616.         
  15617.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  15618.             /* [out] */ double *pdblRate) = 0;
  15619.         
  15620.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  15621.             /* [out] */ long *pEnabled,
  15622.             /* [out] */ long *pOffset,
  15623.             /* [out] */ HEVENT *phEvent) = 0;
  15624.         
  15625.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  15626.             /* [in] */ long Enable,
  15627.             /* [in] */ long Offset,
  15628.             /* [in] */ HEVENT hEvent) = 0;
  15629.         
  15630.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  15631.             /* [out] */ long *pSpeed,
  15632.             /* [out] */ long *pDuration) = 0;
  15633.         
  15634.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  15635.             /* [in] */ long Speed,
  15636.             /* [in] */ long Duration) = 0;
  15637.         
  15638.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  15639.             /* [out] */ long *pEnabled) = 0;
  15640.         
  15641.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  15642.             /* [in] */ long Enable) = 0;
  15643.         
  15644.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  15645.             /* [in] */ long EditID,
  15646.             /* [out] */ long *pState) = 0;
  15647.         
  15648.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  15649.             /* [out][in] */ long *pEditID,
  15650.             /* [in] */ long State) = 0;
  15651.         
  15652.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  15653.             /* [in] */ long EditID,
  15654.             /* [in] */ long Param,
  15655.             /* [out] */ long *pValue) = 0;
  15656.         
  15657.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  15658.             /* [in] */ long EditID,
  15659.             /* [in] */ long Param,
  15660.             /* [in] */ long Value) = 0;
  15661.         
  15662.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  15663.             /* [out] */ long *pValue) = 0;
  15664.         
  15665.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  15666.             /* [in] */ long Value) = 0;
  15667.         
  15668.     };
  15669.     
  15670. #else     /* C style interface */
  15671.  
  15672.     typedef struct IAMExtTransportVtbl
  15673.     {
  15674.         BEGIN_INTERFACE
  15675.         
  15676.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  15677.             IAMExtTransport * This,
  15678.             /* [in] */ REFIID riid,
  15679.             /* [iid_is][out] */ void **ppvObject);
  15680.         
  15681.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  15682.             IAMExtTransport * This);
  15683.         
  15684.         ULONG ( STDMETHODCALLTYPE *Release )( 
  15685.             IAMExtTransport * This);
  15686.         
  15687.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  15688.             IAMExtTransport * This,
  15689.             /* [in] */ long Capability,
  15690.             /* [out] */ long *pValue,
  15691.             /* [out] */ double *pdblValue);
  15692.         
  15693.         HRESULT ( STDMETHODCALLTYPE *put_MediaState )( 
  15694.             IAMExtTransport * This,
  15695.             /* [in] */ long State);
  15696.         
  15697.         HRESULT ( STDMETHODCALLTYPE *get_MediaState )( 
  15698.             IAMExtTransport * This,
  15699.             /* [out] */ long *pState);
  15700.         
  15701.         HRESULT ( STDMETHODCALLTYPE *put_LocalControl )( 
  15702.             IAMExtTransport * This,
  15703.             /* [in] */ long State);
  15704.         
  15705.         HRESULT ( STDMETHODCALLTYPE *get_LocalControl )( 
  15706.             IAMExtTransport * This,
  15707.             /* [out] */ long *pState);
  15708.         
  15709.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  15710.             IAMExtTransport * This,
  15711.             /* [in] */ long StatusItem,
  15712.             /* [out] */ long *pValue);
  15713.         
  15714.         HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )( 
  15715.             IAMExtTransport * This,
  15716.             /* [in] */ long Param,
  15717.             /* [out] */ long *pValue,
  15718.             /* [out] */ LPOLESTR *ppszData);
  15719.         
  15720.         HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )( 
  15721.             IAMExtTransport * This,
  15722.             /* [in] */ long Param,
  15723.             /* [in] */ long Value,
  15724.             /* [in] */ LPCOLESTR pszData);
  15725.         
  15726.         HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )( 
  15727.             IAMExtTransport * This,
  15728.             /* [in] */ long Param,
  15729.             /* [out] */ long *pValue);
  15730.         
  15731.         HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )( 
  15732.             IAMExtTransport * This,
  15733.             /* [in] */ long Param,
  15734.             /* [in] */ long Value);
  15735.         
  15736.         HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )( 
  15737.             IAMExtTransport * This,
  15738.             /* [in] */ long Param,
  15739.             /* [out] */ long *pValue);
  15740.         
  15741.         HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )( 
  15742.             IAMExtTransport * This,
  15743.             /* [in] */ long Param,
  15744.             /* [in] */ long Value);
  15745.         
  15746.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  15747.             IAMExtTransport * This,
  15748.             /* [in] */ long Mode);
  15749.         
  15750.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  15751.             IAMExtTransport * This,
  15752.             /* [out] */ long *pMode);
  15753.         
  15754.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  15755.             IAMExtTransport * This,
  15756.             /* [in] */ double dblRate);
  15757.         
  15758.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  15759.             IAMExtTransport * This,
  15760.             /* [out] */ double *pdblRate);
  15761.         
  15762.         HRESULT ( STDMETHODCALLTYPE *GetChase )( 
  15763.             IAMExtTransport * This,
  15764.             /* [out] */ long *pEnabled,
  15765.             /* [out] */ long *pOffset,
  15766.             /* [out] */ HEVENT *phEvent);
  15767.         
  15768.         HRESULT ( STDMETHODCALLTYPE *SetChase )( 
  15769.             IAMExtTransport * This,
  15770.             /* [in] */ long Enable,
  15771.             /* [in] */ long Offset,
  15772.             /* [in] */ HEVENT hEvent);
  15773.         
  15774.         HRESULT ( STDMETHODCALLTYPE *GetBump )( 
  15775.             IAMExtTransport * This,
  15776.             /* [out] */ long *pSpeed,
  15777.             /* [out] */ long *pDuration);
  15778.         
  15779.         HRESULT ( STDMETHODCALLTYPE *SetBump )( 
  15780.             IAMExtTransport * This,
  15781.             /* [in] */ long Speed,
  15782.             /* [in] */ long Duration);
  15783.         
  15784.         HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )( 
  15785.             IAMExtTransport * This,
  15786.             /* [out] */ long *pEnabled);
  15787.         
  15788.         HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )( 
  15789.             IAMExtTransport * This,
  15790.             /* [in] */ long Enable);
  15791.         
  15792.         HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )( 
  15793.             IAMExtTransport * This,
  15794.             /* [in] */ long EditID,
  15795.             /* [out] */ long *pState);
  15796.         
  15797.         HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )( 
  15798.             IAMExtTransport * This,
  15799.             /* [out][in] */ long *pEditID,
  15800.             /* [in] */ long State);
  15801.         
  15802.         HRESULT ( STDMETHODCALLTYPE *GetEditProperty )( 
  15803.             IAMExtTransport * This,
  15804.             /* [in] */ long EditID,
  15805.             /* [in] */ long Param,
  15806.             /* [out] */ long *pValue);
  15807.         
  15808.         HRESULT ( STDMETHODCALLTYPE *SetEditProperty )( 
  15809.             IAMExtTransport * This,
  15810.             /* [in] */ long EditID,
  15811.             /* [in] */ long Param,
  15812.             /* [in] */ long Value);
  15813.         
  15814.         HRESULT ( STDMETHODCALLTYPE *get_EditStart )( 
  15815.             IAMExtTransport * This,
  15816.             /* [out] */ long *pValue);
  15817.         
  15818.         HRESULT ( STDMETHODCALLTYPE *put_EditStart )( 
  15819.             IAMExtTransport * This,
  15820.             /* [in] */ long Value);
  15821.         
  15822.         END_INTERFACE
  15823.     } IAMExtTransportVtbl;
  15824.  
  15825.     interface IAMExtTransport
  15826.     {
  15827.         CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  15828.     };
  15829.  
  15830.     
  15831.  
  15832. #ifdef COBJMACROS
  15833.  
  15834.  
  15835. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)    \
  15836.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  15837.  
  15838. #define IAMExtTransport_AddRef(This)    \
  15839.     (This)->lpVtbl -> AddRef(This)
  15840.  
  15841. #define IAMExtTransport_Release(This)    \
  15842.     (This)->lpVtbl -> Release(This)
  15843.  
  15844.  
  15845. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)    \
  15846.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  15847.  
  15848. #define IAMExtTransport_put_MediaState(This,State)    \
  15849.     (This)->lpVtbl -> put_MediaState(This,State)
  15850.  
  15851. #define IAMExtTransport_get_MediaState(This,pState)    \
  15852.     (This)->lpVtbl -> get_MediaState(This,pState)
  15853.  
  15854. #define IAMExtTransport_put_LocalControl(This,State)    \
  15855.     (This)->lpVtbl -> put_LocalControl(This,State)
  15856.  
  15857. #define IAMExtTransport_get_LocalControl(This,pState)    \
  15858.     (This)->lpVtbl -> get_LocalControl(This,pState)
  15859.  
  15860. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)    \
  15861.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  15862.  
  15863. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)    \
  15864.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  15865.  
  15866. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)    \
  15867.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  15868.  
  15869. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)    \
  15870.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  15871.  
  15872. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)    \
  15873.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  15874.  
  15875. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)    \
  15876.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  15877.  
  15878. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)    \
  15879.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  15880.  
  15881. #define IAMExtTransport_put_Mode(This,Mode)    \
  15882.     (This)->lpVtbl -> put_Mode(This,Mode)
  15883.  
  15884. #define IAMExtTransport_get_Mode(This,pMode)    \
  15885.     (This)->lpVtbl -> get_Mode(This,pMode)
  15886.  
  15887. #define IAMExtTransport_put_Rate(This,dblRate)    \
  15888.     (This)->lpVtbl -> put_Rate(This,dblRate)
  15889.  
  15890. #define IAMExtTransport_get_Rate(This,pdblRate)    \
  15891.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  15892.  
  15893. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)    \
  15894.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  15895.  
  15896. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)    \
  15897.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  15898.  
  15899. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)    \
  15900.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  15901.  
  15902. #define IAMExtTransport_SetBump(This,Speed,Duration)    \
  15903.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  15904.  
  15905. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)    \
  15906.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  15907.  
  15908. #define IAMExtTransport_put_AntiClogControl(This,Enable)    \
  15909.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  15910.  
  15911. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)    \
  15912.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  15913.  
  15914. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)    \
  15915.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  15916.  
  15917. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)    \
  15918.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  15919.  
  15920. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)    \
  15921.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  15922.  
  15923. #define IAMExtTransport_get_EditStart(This,pValue)    \
  15924.     (This)->lpVtbl -> get_EditStart(This,pValue)
  15925.  
  15926. #define IAMExtTransport_put_EditStart(This,Value)    \
  15927.     (This)->lpVtbl -> put_EditStart(This,Value)
  15928.  
  15929. #endif /* COBJMACROS */
  15930.  
  15931.  
  15932. #endif     /* C style interface */
  15933.  
  15934.  
  15935.  
  15936. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  15937.     IAMExtTransport * This,
  15938.     /* [in] */ long Capability,
  15939.     /* [out] */ long *pValue,
  15940.     /* [out] */ double *pdblValue);
  15941.  
  15942.  
  15943. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  15944.     IRpcStubBuffer *This,
  15945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15946.     PRPC_MESSAGE _pRpcMessage,
  15947.     DWORD *_pdwStubPhase);
  15948.  
  15949.  
  15950. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  15951.     IAMExtTransport * This,
  15952.     /* [in] */ long State);
  15953.  
  15954.  
  15955. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  15956.     IRpcStubBuffer *This,
  15957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15958.     PRPC_MESSAGE _pRpcMessage,
  15959.     DWORD *_pdwStubPhase);
  15960.  
  15961.  
  15962. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  15963.     IAMExtTransport * This,
  15964.     /* [out] */ long *pState);
  15965.  
  15966.  
  15967. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  15968.     IRpcStubBuffer *This,
  15969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15970.     PRPC_MESSAGE _pRpcMessage,
  15971.     DWORD *_pdwStubPhase);
  15972.  
  15973.  
  15974. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  15975.     IAMExtTransport * This,
  15976.     /* [in] */ long State);
  15977.  
  15978.  
  15979. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  15980.     IRpcStubBuffer *This,
  15981.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15982.     PRPC_MESSAGE _pRpcMessage,
  15983.     DWORD *_pdwStubPhase);
  15984.  
  15985.  
  15986. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  15987.     IAMExtTransport * This,
  15988.     /* [out] */ long *pState);
  15989.  
  15990.  
  15991. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  15992.     IRpcStubBuffer *This,
  15993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  15994.     PRPC_MESSAGE _pRpcMessage,
  15995.     DWORD *_pdwStubPhase);
  15996.  
  15997.  
  15998. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  15999.     IAMExtTransport * This,
  16000.     /* [in] */ long StatusItem,
  16001.     /* [out] */ long *pValue);
  16002.  
  16003.  
  16004. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  16005.     IRpcStubBuffer *This,
  16006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16007.     PRPC_MESSAGE _pRpcMessage,
  16008.     DWORD *_pdwStubPhase);
  16009.  
  16010.  
  16011. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  16012.     IAMExtTransport * This,
  16013.     /* [in] */ long Param,
  16014.     /* [out] */ long *pValue,
  16015.     /* [out] */ LPOLESTR *ppszData);
  16016.  
  16017.  
  16018. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  16019.     IRpcStubBuffer *This,
  16020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16021.     PRPC_MESSAGE _pRpcMessage,
  16022.     DWORD *_pdwStubPhase);
  16023.  
  16024.  
  16025. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  16026.     IAMExtTransport * This,
  16027.     /* [in] */ long Param,
  16028.     /* [in] */ long Value,
  16029.     /* [in] */ LPCOLESTR pszData);
  16030.  
  16031.  
  16032. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  16033.     IRpcStubBuffer *This,
  16034.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16035.     PRPC_MESSAGE _pRpcMessage,
  16036.     DWORD *_pdwStubPhase);
  16037.  
  16038.  
  16039. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  16040.     IAMExtTransport * This,
  16041.     /* [in] */ long Param,
  16042.     /* [out] */ long *pValue);
  16043.  
  16044.  
  16045. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  16046.     IRpcStubBuffer *This,
  16047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16048.     PRPC_MESSAGE _pRpcMessage,
  16049.     DWORD *_pdwStubPhase);
  16050.  
  16051.  
  16052. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  16053.     IAMExtTransport * This,
  16054.     /* [in] */ long Param,
  16055.     /* [in] */ long Value);
  16056.  
  16057.  
  16058. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  16059.     IRpcStubBuffer *This,
  16060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16061.     PRPC_MESSAGE _pRpcMessage,
  16062.     DWORD *_pdwStubPhase);
  16063.  
  16064.  
  16065. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  16066.     IAMExtTransport * This,
  16067.     /* [in] */ long Param,
  16068.     /* [out] */ long *pValue);
  16069.  
  16070.  
  16071. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  16072.     IRpcStubBuffer *This,
  16073.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16074.     PRPC_MESSAGE _pRpcMessage,
  16075.     DWORD *_pdwStubPhase);
  16076.  
  16077.  
  16078. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  16079.     IAMExtTransport * This,
  16080.     /* [in] */ long Param,
  16081.     /* [in] */ long Value);
  16082.  
  16083.  
  16084. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  16085.     IRpcStubBuffer *This,
  16086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16087.     PRPC_MESSAGE _pRpcMessage,
  16088.     DWORD *_pdwStubPhase);
  16089.  
  16090.  
  16091. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  16092.     IAMExtTransport * This,
  16093.     /* [in] */ long Mode);
  16094.  
  16095.  
  16096. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  16097.     IRpcStubBuffer *This,
  16098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16099.     PRPC_MESSAGE _pRpcMessage,
  16100.     DWORD *_pdwStubPhase);
  16101.  
  16102.  
  16103. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  16104.     IAMExtTransport * This,
  16105.     /* [out] */ long *pMode);
  16106.  
  16107.  
  16108. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  16109.     IRpcStubBuffer *This,
  16110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16111.     PRPC_MESSAGE _pRpcMessage,
  16112.     DWORD *_pdwStubPhase);
  16113.  
  16114.  
  16115. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  16116.     IAMExtTransport * This,
  16117.     /* [in] */ double dblRate);
  16118.  
  16119.  
  16120. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  16121.     IRpcStubBuffer *This,
  16122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16123.     PRPC_MESSAGE _pRpcMessage,
  16124.     DWORD *_pdwStubPhase);
  16125.  
  16126.  
  16127. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  16128.     IAMExtTransport * This,
  16129.     /* [out] */ double *pdblRate);
  16130.  
  16131.  
  16132. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  16133.     IRpcStubBuffer *This,
  16134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16135.     PRPC_MESSAGE _pRpcMessage,
  16136.     DWORD *_pdwStubPhase);
  16137.  
  16138.  
  16139. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  16140.     IAMExtTransport * This,
  16141.     /* [out] */ long *pEnabled,
  16142.     /* [out] */ long *pOffset,
  16143.     /* [out] */ HEVENT *phEvent);
  16144.  
  16145.  
  16146. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  16147.     IRpcStubBuffer *This,
  16148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16149.     PRPC_MESSAGE _pRpcMessage,
  16150.     DWORD *_pdwStubPhase);
  16151.  
  16152.  
  16153. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  16154.     IAMExtTransport * This,
  16155.     /* [in] */ long Enable,
  16156.     /* [in] */ long Offset,
  16157.     /* [in] */ HEVENT hEvent);
  16158.  
  16159.  
  16160. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  16161.     IRpcStubBuffer *This,
  16162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16163.     PRPC_MESSAGE _pRpcMessage,
  16164.     DWORD *_pdwStubPhase);
  16165.  
  16166.  
  16167. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  16168.     IAMExtTransport * This,
  16169.     /* [out] */ long *pSpeed,
  16170.     /* [out] */ long *pDuration);
  16171.  
  16172.  
  16173. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  16174.     IRpcStubBuffer *This,
  16175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16176.     PRPC_MESSAGE _pRpcMessage,
  16177.     DWORD *_pdwStubPhase);
  16178.  
  16179.  
  16180. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  16181.     IAMExtTransport * This,
  16182.     /* [in] */ long Speed,
  16183.     /* [in] */ long Duration);
  16184.  
  16185.  
  16186. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  16187.     IRpcStubBuffer *This,
  16188.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16189.     PRPC_MESSAGE _pRpcMessage,
  16190.     DWORD *_pdwStubPhase);
  16191.  
  16192.  
  16193. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  16194.     IAMExtTransport * This,
  16195.     /* [out] */ long *pEnabled);
  16196.  
  16197.  
  16198. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  16199.     IRpcStubBuffer *This,
  16200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16201.     PRPC_MESSAGE _pRpcMessage,
  16202.     DWORD *_pdwStubPhase);
  16203.  
  16204.  
  16205. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  16206.     IAMExtTransport * This,
  16207.     /* [in] */ long Enable);
  16208.  
  16209.  
  16210. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  16211.     IRpcStubBuffer *This,
  16212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16213.     PRPC_MESSAGE _pRpcMessage,
  16214.     DWORD *_pdwStubPhase);
  16215.  
  16216.  
  16217. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  16218.     IAMExtTransport * This,
  16219.     /* [in] */ long EditID,
  16220.     /* [out] */ long *pState);
  16221.  
  16222.  
  16223. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  16224.     IRpcStubBuffer *This,
  16225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16226.     PRPC_MESSAGE _pRpcMessage,
  16227.     DWORD *_pdwStubPhase);
  16228.  
  16229.  
  16230. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  16231.     IAMExtTransport * This,
  16232.     /* [out][in] */ long *pEditID,
  16233.     /* [in] */ long State);
  16234.  
  16235.  
  16236. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  16237.     IRpcStubBuffer *This,
  16238.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16239.     PRPC_MESSAGE _pRpcMessage,
  16240.     DWORD *_pdwStubPhase);
  16241.  
  16242.  
  16243. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  16244.     IAMExtTransport * This,
  16245.     /* [in] */ long EditID,
  16246.     /* [in] */ long Param,
  16247.     /* [out] */ long *pValue);
  16248.  
  16249.  
  16250. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  16251.     IRpcStubBuffer *This,
  16252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16253.     PRPC_MESSAGE _pRpcMessage,
  16254.     DWORD *_pdwStubPhase);
  16255.  
  16256.  
  16257. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  16258.     IAMExtTransport * This,
  16259.     /* [in] */ long EditID,
  16260.     /* [in] */ long Param,
  16261.     /* [in] */ long Value);
  16262.  
  16263.  
  16264. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  16265.     IRpcStubBuffer *This,
  16266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16267.     PRPC_MESSAGE _pRpcMessage,
  16268.     DWORD *_pdwStubPhase);
  16269.  
  16270.  
  16271. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  16272.     IAMExtTransport * This,
  16273.     /* [out] */ long *pValue);
  16274.  
  16275.  
  16276. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  16277.     IRpcStubBuffer *This,
  16278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16279.     PRPC_MESSAGE _pRpcMessage,
  16280.     DWORD *_pdwStubPhase);
  16281.  
  16282.  
  16283. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  16284.     IAMExtTransport * This,
  16285.     /* [in] */ long Value);
  16286.  
  16287.  
  16288. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  16289.     IRpcStubBuffer *This,
  16290.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16291.     PRPC_MESSAGE _pRpcMessage,
  16292.     DWORD *_pdwStubPhase);
  16293.  
  16294.  
  16295.  
  16296. #endif     /* __IAMExtTransport_INTERFACE_DEFINED__ */
  16297.  
  16298.  
  16299. /* interface __MIDL_itf_strmif_0330 */
  16300. /* [local] */ 
  16301.  
  16302. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  16303.  
  16304. #if 0
  16305. /* the following is what MIDL knows how to remote */
  16306. typedef struct tagTIMECODE
  16307.     {
  16308.     WORD wFrameRate;
  16309.     WORD wFrameFract;
  16310.     DWORD dwFrames;
  16311.     }     TIMECODE;
  16312.  
  16313. #else /* 0 */
  16314. #ifndef TIMECODE_DEFINED
  16315. #define TIMECODE_DEFINED
  16316. typedef union _timecode {
  16317.    struct {
  16318.      WORD   wFrameRate;
  16319.      WORD   wFrameFract;
  16320.      DWORD  dwFrames;
  16321.      };
  16322.    DWORDLONG  qw;
  16323.    } TIMECODE;
  16324.  
  16325. #endif /* TIMECODE_DEFINED */
  16326. #endif /* 0 */
  16327. typedef TIMECODE *PTIMECODE;
  16328.  
  16329. typedef struct tagTIMECODE_SAMPLE
  16330.     {
  16331.     LONGLONG qwTick;
  16332.     TIMECODE timecode;
  16333.     DWORD dwUser;
  16334.     DWORD dwFlags;
  16335.     }     TIMECODE_SAMPLE;
  16336.  
  16337. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  16338.  
  16339.  
  16340.  
  16341. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;
  16342. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;
  16343.  
  16344. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  16345. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  16346.  
  16347. /* interface IAMTimecodeReader */
  16348. /* [unique][uuid][object] */ 
  16349.  
  16350.  
  16351. EXTERN_C const IID IID_IAMTimecodeReader;
  16352.  
  16353. #if defined(__cplusplus) && !defined(CINTERFACE)
  16354.     
  16355.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  16356.     IAMTimecodeReader : public IUnknown
  16357.     {
  16358.     public:
  16359.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  16360.             /* [in] */ long Param,
  16361.             /* [out] */ long *pValue) = 0;
  16362.         
  16363.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  16364.             /* [in] */ long Param,
  16365.             /* [in] */ long Value) = 0;
  16366.         
  16367.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16368.             /* [in] */ long Line) = 0;
  16369.         
  16370.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16371.             /* [out] */ long *pLine) = 0;
  16372.         
  16373.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16374.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16375.         
  16376.     };
  16377.     
  16378. #else     /* C style interface */
  16379.  
  16380.     typedef struct IAMTimecodeReaderVtbl
  16381.     {
  16382.         BEGIN_INTERFACE
  16383.         
  16384.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16385.             IAMTimecodeReader * This,
  16386.             /* [in] */ REFIID riid,
  16387.             /* [iid_is][out] */ void **ppvObject);
  16388.         
  16389.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16390.             IAMTimecodeReader * This);
  16391.         
  16392.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16393.             IAMTimecodeReader * This);
  16394.         
  16395.         HRESULT ( STDMETHODCALLTYPE *GetTCRMode )( 
  16396.             IAMTimecodeReader * This,
  16397.             /* [in] */ long Param,
  16398.             /* [out] */ long *pValue);
  16399.         
  16400.         HRESULT ( STDMETHODCALLTYPE *SetTCRMode )( 
  16401.             IAMTimecodeReader * This,
  16402.             /* [in] */ long Param,
  16403.             /* [in] */ long Value);
  16404.         
  16405.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16406.             IAMTimecodeReader * This,
  16407.             /* [in] */ long Line);
  16408.         
  16409.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16410.             IAMTimecodeReader * This,
  16411.             /* [out] */ long *pLine);
  16412.         
  16413.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16414.             IAMTimecodeReader * This,
  16415.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16416.         
  16417.         END_INTERFACE
  16418.     } IAMTimecodeReaderVtbl;
  16419.  
  16420.     interface IAMTimecodeReader
  16421.     {
  16422.         CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  16423.     };
  16424.  
  16425.     
  16426.  
  16427. #ifdef COBJMACROS
  16428.  
  16429.  
  16430. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)    \
  16431.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16432.  
  16433. #define IAMTimecodeReader_AddRef(This)    \
  16434.     (This)->lpVtbl -> AddRef(This)
  16435.  
  16436. #define IAMTimecodeReader_Release(This)    \
  16437.     (This)->lpVtbl -> Release(This)
  16438.  
  16439.  
  16440. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)    \
  16441.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  16442.  
  16443. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)    \
  16444.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  16445.  
  16446. #define IAMTimecodeReader_put_VITCLine(This,Line)    \
  16447.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16448.  
  16449. #define IAMTimecodeReader_get_VITCLine(This,pLine)    \
  16450.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16451.  
  16452. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)    \
  16453.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16454.  
  16455. #endif /* COBJMACROS */
  16456.  
  16457.  
  16458. #endif     /* C style interface */
  16459.  
  16460.  
  16461.  
  16462. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  16463.     IAMTimecodeReader * This,
  16464.     /* [in] */ long Param,
  16465.     /* [out] */ long *pValue);
  16466.  
  16467.  
  16468. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  16469.     IRpcStubBuffer *This,
  16470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16471.     PRPC_MESSAGE _pRpcMessage,
  16472.     DWORD *_pdwStubPhase);
  16473.  
  16474.  
  16475. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  16476.     IAMTimecodeReader * This,
  16477.     /* [in] */ long Param,
  16478.     /* [in] */ long Value);
  16479.  
  16480.  
  16481. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  16482.     IRpcStubBuffer *This,
  16483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16484.     PRPC_MESSAGE _pRpcMessage,
  16485.     DWORD *_pdwStubPhase);
  16486.  
  16487.  
  16488. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  16489.     IAMTimecodeReader * This,
  16490.     /* [in] */ long Line);
  16491.  
  16492.  
  16493. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  16494.     IRpcStubBuffer *This,
  16495.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16496.     PRPC_MESSAGE _pRpcMessage,
  16497.     DWORD *_pdwStubPhase);
  16498.  
  16499.  
  16500. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  16501.     IAMTimecodeReader * This,
  16502.     /* [out] */ long *pLine);
  16503.  
  16504.  
  16505. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  16506.     IRpcStubBuffer *This,
  16507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16508.     PRPC_MESSAGE _pRpcMessage,
  16509.     DWORD *_pdwStubPhase);
  16510.  
  16511.  
  16512. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  16513.     IAMTimecodeReader * This,
  16514.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16515.  
  16516.  
  16517. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  16518.     IRpcStubBuffer *This,
  16519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16520.     PRPC_MESSAGE _pRpcMessage,
  16521.     DWORD *_pdwStubPhase);
  16522.  
  16523.  
  16524.  
  16525. #endif     /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  16526.  
  16527.  
  16528. /* interface __MIDL_itf_strmif_0331 */
  16529. /* [local] */ 
  16530.  
  16531. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  16532.  
  16533.  
  16534.  
  16535. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  16536. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  16537.  
  16538. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16539. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  16540.  
  16541. /* interface IAMTimecodeGenerator */
  16542. /* [unique][uuid][object] */ 
  16543.  
  16544.  
  16545. EXTERN_C const IID IID_IAMTimecodeGenerator;
  16546.  
  16547. #if defined(__cplusplus) && !defined(CINTERFACE)
  16548.     
  16549.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  16550.     IAMTimecodeGenerator : public IUnknown
  16551.     {
  16552.     public:
  16553.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  16554.             /* [in] */ long Param,
  16555.             /* [out] */ long *pValue) = 0;
  16556.         
  16557.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  16558.             /* [in] */ long Param,
  16559.             /* [in] */ long Value) = 0;
  16560.         
  16561.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  16562.             /* [in] */ long Line) = 0;
  16563.         
  16564.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  16565.             /* [out] */ long *pLine) = 0;
  16566.         
  16567.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  16568.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16569.         
  16570.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  16571.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  16572.         
  16573.     };
  16574.     
  16575. #else     /* C style interface */
  16576.  
  16577.     typedef struct IAMTimecodeGeneratorVtbl
  16578.     {
  16579.         BEGIN_INTERFACE
  16580.         
  16581.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16582.             IAMTimecodeGenerator * This,
  16583.             /* [in] */ REFIID riid,
  16584.             /* [iid_is][out] */ void **ppvObject);
  16585.         
  16586.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16587.             IAMTimecodeGenerator * This);
  16588.         
  16589.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16590.             IAMTimecodeGenerator * This);
  16591.         
  16592.         HRESULT ( STDMETHODCALLTYPE *GetTCGMode )( 
  16593.             IAMTimecodeGenerator * This,
  16594.             /* [in] */ long Param,
  16595.             /* [out] */ long *pValue);
  16596.         
  16597.         HRESULT ( STDMETHODCALLTYPE *SetTCGMode )( 
  16598.             IAMTimecodeGenerator * This,
  16599.             /* [in] */ long Param,
  16600.             /* [in] */ long Value);
  16601.         
  16602.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  16603.             IAMTimecodeGenerator * This,
  16604.             /* [in] */ long Line);
  16605.         
  16606.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  16607.             IAMTimecodeGenerator * This,
  16608.             /* [out] */ long *pLine);
  16609.         
  16610.         HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 
  16611.             IAMTimecodeGenerator * This,
  16612.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16613.         
  16614.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  16615.             IAMTimecodeGenerator * This,
  16616.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16617.         
  16618.         END_INTERFACE
  16619.     } IAMTimecodeGeneratorVtbl;
  16620.  
  16621.     interface IAMTimecodeGenerator
  16622.     {
  16623.         CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  16624.     };
  16625.  
  16626.     
  16627.  
  16628. #ifdef COBJMACROS
  16629.  
  16630.  
  16631. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)    \
  16632.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16633.  
  16634. #define IAMTimecodeGenerator_AddRef(This)    \
  16635.     (This)->lpVtbl -> AddRef(This)
  16636.  
  16637. #define IAMTimecodeGenerator_Release(This)    \
  16638.     (This)->lpVtbl -> Release(This)
  16639.  
  16640.  
  16641. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)    \
  16642.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  16643.  
  16644. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)    \
  16645.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  16646.  
  16647. #define IAMTimecodeGenerator_put_VITCLine(This,Line)    \
  16648.     (This)->lpVtbl -> put_VITCLine(This,Line)
  16649.  
  16650. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)    \
  16651.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  16652.  
  16653. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)    \
  16654.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  16655.  
  16656. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)    \
  16657.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  16658.  
  16659. #endif /* COBJMACROS */
  16660.  
  16661.  
  16662. #endif     /* C style interface */
  16663.  
  16664.  
  16665.  
  16666. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  16667.     IAMTimecodeGenerator * This,
  16668.     /* [in] */ long Param,
  16669.     /* [out] */ long *pValue);
  16670.  
  16671.  
  16672. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  16673.     IRpcStubBuffer *This,
  16674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16675.     PRPC_MESSAGE _pRpcMessage,
  16676.     DWORD *_pdwStubPhase);
  16677.  
  16678.  
  16679. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  16680.     IAMTimecodeGenerator * This,
  16681.     /* [in] */ long Param,
  16682.     /* [in] */ long Value);
  16683.  
  16684.  
  16685. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  16686.     IRpcStubBuffer *This,
  16687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16688.     PRPC_MESSAGE _pRpcMessage,
  16689.     DWORD *_pdwStubPhase);
  16690.  
  16691.  
  16692. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  16693.     IAMTimecodeGenerator * This,
  16694.     /* [in] */ long Line);
  16695.  
  16696.  
  16697. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  16698.     IRpcStubBuffer *This,
  16699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16700.     PRPC_MESSAGE _pRpcMessage,
  16701.     DWORD *_pdwStubPhase);
  16702.  
  16703.  
  16704. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  16705.     IAMTimecodeGenerator * This,
  16706.     /* [out] */ long *pLine);
  16707.  
  16708.  
  16709. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  16710.     IRpcStubBuffer *This,
  16711.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16712.     PRPC_MESSAGE _pRpcMessage,
  16713.     DWORD *_pdwStubPhase);
  16714.  
  16715.  
  16716. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  16717.     IAMTimecodeGenerator * This,
  16718.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  16719.  
  16720.  
  16721. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  16722.     IRpcStubBuffer *This,
  16723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16724.     PRPC_MESSAGE _pRpcMessage,
  16725.     DWORD *_pdwStubPhase);
  16726.  
  16727.  
  16728. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  16729.     IAMTimecodeGenerator * This,
  16730.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  16731.  
  16732.  
  16733. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  16734.     IRpcStubBuffer *This,
  16735.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16736.     PRPC_MESSAGE _pRpcMessage,
  16737.     DWORD *_pdwStubPhase);
  16738.  
  16739.  
  16740.  
  16741. #endif     /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  16742.  
  16743.  
  16744. /* interface __MIDL_itf_strmif_0332 */
  16745. /* [local] */ 
  16746.  
  16747. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  16748.  
  16749.  
  16750.  
  16751. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  16752. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  16753.  
  16754. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16755. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  16756.  
  16757. /* interface IAMTimecodeDisplay */
  16758. /* [unique][uuid][object] */ 
  16759.  
  16760.  
  16761. EXTERN_C const IID IID_IAMTimecodeDisplay;
  16762.  
  16763. #if defined(__cplusplus) && !defined(CINTERFACE)
  16764.     
  16765.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  16766.     IAMTimecodeDisplay : public IUnknown
  16767.     {
  16768.     public:
  16769.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  16770.             /* [out] */ long *pState) = 0;
  16771.         
  16772.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  16773.             /* [in] */ long State) = 0;
  16774.         
  16775.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  16776.             /* [in] */ long Param,
  16777.             /* [out] */ long *pValue) = 0;
  16778.         
  16779.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  16780.             /* [in] */ long Param,
  16781.             /* [in] */ long Value) = 0;
  16782.         
  16783.     };
  16784.     
  16785. #else     /* C style interface */
  16786.  
  16787.     typedef struct IAMTimecodeDisplayVtbl
  16788.     {
  16789.         BEGIN_INTERFACE
  16790.         
  16791.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16792.             IAMTimecodeDisplay * This,
  16793.             /* [in] */ REFIID riid,
  16794.             /* [iid_is][out] */ void **ppvObject);
  16795.         
  16796.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16797.             IAMTimecodeDisplay * This);
  16798.         
  16799.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16800.             IAMTimecodeDisplay * This);
  16801.         
  16802.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )( 
  16803.             IAMTimecodeDisplay * This,
  16804.             /* [out] */ long *pState);
  16805.         
  16806.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )( 
  16807.             IAMTimecodeDisplay * This,
  16808.             /* [in] */ long State);
  16809.         
  16810.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )( 
  16811.             IAMTimecodeDisplay * This,
  16812.             /* [in] */ long Param,
  16813.             /* [out] */ long *pValue);
  16814.         
  16815.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )( 
  16816.             IAMTimecodeDisplay * This,
  16817.             /* [in] */ long Param,
  16818.             /* [in] */ long Value);
  16819.         
  16820.         END_INTERFACE
  16821.     } IAMTimecodeDisplayVtbl;
  16822.  
  16823.     interface IAMTimecodeDisplay
  16824.     {
  16825.         CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  16826.     };
  16827.  
  16828.     
  16829.  
  16830. #ifdef COBJMACROS
  16831.  
  16832.  
  16833. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)    \
  16834.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  16835.  
  16836. #define IAMTimecodeDisplay_AddRef(This)    \
  16837.     (This)->lpVtbl -> AddRef(This)
  16838.  
  16839. #define IAMTimecodeDisplay_Release(This)    \
  16840.     (This)->lpVtbl -> Release(This)
  16841.  
  16842.  
  16843. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)    \
  16844.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  16845.  
  16846. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)    \
  16847.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  16848.  
  16849. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)    \
  16850.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  16851.  
  16852. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)    \
  16853.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  16854.  
  16855. #endif /* COBJMACROS */
  16856.  
  16857.  
  16858. #endif     /* C style interface */
  16859.  
  16860.  
  16861.  
  16862. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  16863.     IAMTimecodeDisplay * This,
  16864.     /* [out] */ long *pState);
  16865.  
  16866.  
  16867. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  16868.     IRpcStubBuffer *This,
  16869.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16870.     PRPC_MESSAGE _pRpcMessage,
  16871.     DWORD *_pdwStubPhase);
  16872.  
  16873.  
  16874. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  16875.     IAMTimecodeDisplay * This,
  16876.     /* [in] */ long State);
  16877.  
  16878.  
  16879. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  16880.     IRpcStubBuffer *This,
  16881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16882.     PRPC_MESSAGE _pRpcMessage,
  16883.     DWORD *_pdwStubPhase);
  16884.  
  16885.  
  16886. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  16887.     IAMTimecodeDisplay * This,
  16888.     /* [in] */ long Param,
  16889.     /* [out] */ long *pValue);
  16890.  
  16891.  
  16892. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  16893.     IRpcStubBuffer *This,
  16894.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16895.     PRPC_MESSAGE _pRpcMessage,
  16896.     DWORD *_pdwStubPhase);
  16897.  
  16898.  
  16899. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  16900.     IAMTimecodeDisplay * This,
  16901.     /* [in] */ long Param,
  16902.     /* [in] */ long Value);
  16903.  
  16904.  
  16905. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  16906.     IRpcStubBuffer *This,
  16907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  16908.     PRPC_MESSAGE _pRpcMessage,
  16909.     DWORD *_pdwStubPhase);
  16910.  
  16911.  
  16912.  
  16913. #endif     /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  16914.  
  16915.  
  16916. /* interface __MIDL_itf_strmif_0333 */
  16917. /* [local] */ 
  16918.  
  16919. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  16920.  
  16921.  
  16922.  
  16923. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
  16924. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
  16925.  
  16926. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16927. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  16928.  
  16929. /* interface IAMDevMemoryAllocator */
  16930. /* [unique][uuid][object] */ 
  16931.  
  16932.  
  16933. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  16934.  
  16935. #if defined(__cplusplus) && !defined(CINTERFACE)
  16936.     
  16937.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  16938.     IAMDevMemoryAllocator : public IUnknown
  16939.     {
  16940.     public:
  16941.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  16942.             /* [out] */ DWORD *pdwcbTotalFree,
  16943.             /* [out] */ DWORD *pdwcbLargestFree,
  16944.             /* [out] */ DWORD *pdwcbTotalMemory,
  16945.             /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  16946.         
  16947.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  16948.             /* [in] */ const BYTE *pBuffer) = 0;
  16949.         
  16950.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  16951.             /* [out] */ BYTE **ppBuffer,
  16952.             /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  16953.         
  16954.         virtual HRESULT STDMETHODCALLTYPE Free( 
  16955.             /* [in] */ BYTE *pBuffer) = 0;
  16956.         
  16957.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  16958.             /* [out] */ IUnknown **ppUnkInnner,
  16959.             /* [in] */ IUnknown *pUnkOuter) = 0;
  16960.         
  16961.     };
  16962.     
  16963. #else     /* C style interface */
  16964.  
  16965.     typedef struct IAMDevMemoryAllocatorVtbl
  16966.     {
  16967.         BEGIN_INTERFACE
  16968.         
  16969.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  16970.             IAMDevMemoryAllocator * This,
  16971.             /* [in] */ REFIID riid,
  16972.             /* [iid_is][out] */ void **ppvObject);
  16973.         
  16974.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  16975.             IAMDevMemoryAllocator * This);
  16976.         
  16977.         ULONG ( STDMETHODCALLTYPE *Release )( 
  16978.             IAMDevMemoryAllocator * This);
  16979.         
  16980.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  16981.             IAMDevMemoryAllocator * This,
  16982.             /* [out] */ DWORD *pdwcbTotalFree,
  16983.             /* [out] */ DWORD *pdwcbLargestFree,
  16984.             /* [out] */ DWORD *pdwcbTotalMemory,
  16985.             /* [out] */ DWORD *pdwcbMinimumChunk);
  16986.         
  16987.         HRESULT ( STDMETHODCALLTYPE *CheckMemory )( 
  16988.             IAMDevMemoryAllocator * This,
  16989.             /* [in] */ const BYTE *pBuffer);
  16990.         
  16991.         HRESULT ( STDMETHODCALLTYPE *Alloc )( 
  16992.             IAMDevMemoryAllocator * This,
  16993.             /* [out] */ BYTE **ppBuffer,
  16994.             /* [out][in] */ DWORD *pdwcbBuffer);
  16995.         
  16996.         HRESULT ( STDMETHODCALLTYPE *Free )( 
  16997.             IAMDevMemoryAllocator * This,
  16998.             /* [in] */ BYTE *pBuffer);
  16999.         
  17000.         HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )( 
  17001.             IAMDevMemoryAllocator * This,
  17002.             /* [out] */ IUnknown **ppUnkInnner,
  17003.             /* [in] */ IUnknown *pUnkOuter);
  17004.         
  17005.         END_INTERFACE
  17006.     } IAMDevMemoryAllocatorVtbl;
  17007.  
  17008.     interface IAMDevMemoryAllocator
  17009.     {
  17010.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  17011.     };
  17012.  
  17013.     
  17014.  
  17015. #ifdef COBJMACROS
  17016.  
  17017.  
  17018. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)    \
  17019.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17020.  
  17021. #define IAMDevMemoryAllocator_AddRef(This)    \
  17022.     (This)->lpVtbl -> AddRef(This)
  17023.  
  17024. #define IAMDevMemoryAllocator_Release(This)    \
  17025.     (This)->lpVtbl -> Release(This)
  17026.  
  17027.  
  17028. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)    \
  17029.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  17030.  
  17031. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)    \
  17032.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  17033.  
  17034. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)    \
  17035.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  17036.  
  17037. #define IAMDevMemoryAllocator_Free(This,pBuffer)    \
  17038.     (This)->lpVtbl -> Free(This,pBuffer)
  17039.  
  17040. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)    \
  17041.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  17042.  
  17043. #endif /* COBJMACROS */
  17044.  
  17045.  
  17046. #endif     /* C style interface */
  17047.  
  17048.  
  17049.  
  17050. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  17051.     IAMDevMemoryAllocator * This,
  17052.     /* [out] */ DWORD *pdwcbTotalFree,
  17053.     /* [out] */ DWORD *pdwcbLargestFree,
  17054.     /* [out] */ DWORD *pdwcbTotalMemory,
  17055.     /* [out] */ DWORD *pdwcbMinimumChunk);
  17056.  
  17057.  
  17058. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  17059.     IRpcStubBuffer *This,
  17060.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17061.     PRPC_MESSAGE _pRpcMessage,
  17062.     DWORD *_pdwStubPhase);
  17063.  
  17064.  
  17065. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  17066.     IAMDevMemoryAllocator * This,
  17067.     /* [in] */ const BYTE *pBuffer);
  17068.  
  17069.  
  17070. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  17071.     IRpcStubBuffer *This,
  17072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17073.     PRPC_MESSAGE _pRpcMessage,
  17074.     DWORD *_pdwStubPhase);
  17075.  
  17076.  
  17077. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  17078.     IAMDevMemoryAllocator * This,
  17079.     /* [out] */ BYTE **ppBuffer,
  17080.     /* [out][in] */ DWORD *pdwcbBuffer);
  17081.  
  17082.  
  17083. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  17084.     IRpcStubBuffer *This,
  17085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17086.     PRPC_MESSAGE _pRpcMessage,
  17087.     DWORD *_pdwStubPhase);
  17088.  
  17089.  
  17090. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  17091.     IAMDevMemoryAllocator * This,
  17092.     /* [in] */ BYTE *pBuffer);
  17093.  
  17094.  
  17095. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  17096.     IRpcStubBuffer *This,
  17097.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17098.     PRPC_MESSAGE _pRpcMessage,
  17099.     DWORD *_pdwStubPhase);
  17100.  
  17101.  
  17102. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  17103.     IAMDevMemoryAllocator * This,
  17104.     /* [out] */ IUnknown **ppUnkInnner,
  17105.     /* [in] */ IUnknown *pUnkOuter);
  17106.  
  17107.  
  17108. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  17109.     IRpcStubBuffer *This,
  17110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17111.     PRPC_MESSAGE _pRpcMessage,
  17112.     DWORD *_pdwStubPhase);
  17113.  
  17114.  
  17115.  
  17116. #endif     /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  17117.  
  17118.  
  17119. /* interface __MIDL_itf_strmif_0334 */
  17120. /* [local] */ 
  17121.  
  17122. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  17123.  
  17124.  
  17125.  
  17126. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  17127. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  17128.  
  17129. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  17130. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  17131.  
  17132. /* interface IAMDevMemoryControl */
  17133. /* [unique][uuid][object] */ 
  17134.  
  17135.  
  17136. EXTERN_C const IID IID_IAMDevMemoryControl;
  17137.  
  17138. #if defined(__cplusplus) && !defined(CINTERFACE)
  17139.     
  17140.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  17141.     IAMDevMemoryControl : public IUnknown
  17142.     {
  17143.     public:
  17144.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  17145.         
  17146.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  17147.         
  17148.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  17149.             /* [out] */ DWORD *pdwDevId) = 0;
  17150.         
  17151.     };
  17152.     
  17153. #else     /* C style interface */
  17154.  
  17155.     typedef struct IAMDevMemoryControlVtbl
  17156.     {
  17157.         BEGIN_INTERFACE
  17158.         
  17159.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17160.             IAMDevMemoryControl * This,
  17161.             /* [in] */ REFIID riid,
  17162.             /* [iid_is][out] */ void **ppvObject);
  17163.         
  17164.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17165.             IAMDevMemoryControl * This);
  17166.         
  17167.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17168.             IAMDevMemoryControl * This);
  17169.         
  17170.         HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )( 
  17171.             IAMDevMemoryControl * This);
  17172.         
  17173.         HRESULT ( STDMETHODCALLTYPE *WriteSync )( 
  17174.             IAMDevMemoryControl * This);
  17175.         
  17176.         HRESULT ( STDMETHODCALLTYPE *GetDevId )( 
  17177.             IAMDevMemoryControl * This,
  17178.             /* [out] */ DWORD *pdwDevId);
  17179.         
  17180.         END_INTERFACE
  17181.     } IAMDevMemoryControlVtbl;
  17182.  
  17183.     interface IAMDevMemoryControl
  17184.     {
  17185.         CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  17186.     };
  17187.  
  17188.     
  17189.  
  17190. #ifdef COBJMACROS
  17191.  
  17192.  
  17193. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)    \
  17194.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17195.  
  17196. #define IAMDevMemoryControl_AddRef(This)    \
  17197.     (This)->lpVtbl -> AddRef(This)
  17198.  
  17199. #define IAMDevMemoryControl_Release(This)    \
  17200.     (This)->lpVtbl -> Release(This)
  17201.  
  17202.  
  17203. #define IAMDevMemoryControl_QueryWriteSync(This)    \
  17204.     (This)->lpVtbl -> QueryWriteSync(This)
  17205.  
  17206. #define IAMDevMemoryControl_WriteSync(This)    \
  17207.     (This)->lpVtbl -> WriteSync(This)
  17208.  
  17209. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)    \
  17210.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  17211.  
  17212. #endif /* COBJMACROS */
  17213.  
  17214.  
  17215. #endif     /* C style interface */
  17216.  
  17217.  
  17218.  
  17219. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  17220.     IAMDevMemoryControl * This);
  17221.  
  17222.  
  17223. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  17224.     IRpcStubBuffer *This,
  17225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17226.     PRPC_MESSAGE _pRpcMessage,
  17227.     DWORD *_pdwStubPhase);
  17228.  
  17229.  
  17230. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  17231.     IAMDevMemoryControl * This);
  17232.  
  17233.  
  17234. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  17235.     IRpcStubBuffer *This,
  17236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17237.     PRPC_MESSAGE _pRpcMessage,
  17238.     DWORD *_pdwStubPhase);
  17239.  
  17240.  
  17241. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  17242.     IAMDevMemoryControl * This,
  17243.     /* [out] */ DWORD *pdwDevId);
  17244.  
  17245.  
  17246. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  17247.     IRpcStubBuffer *This,
  17248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17249.     PRPC_MESSAGE _pRpcMessage,
  17250.     DWORD *_pdwStubPhase);
  17251.  
  17252.  
  17253.  
  17254. #endif     /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  17255.  
  17256.  
  17257. /* interface __MIDL_itf_strmif_0335 */
  17258. /* [local] */ 
  17259.  
  17260. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  17261.  
  17262.  
  17263. enum _AMSTREAMSELECTINFOFLAGS
  17264.     {    AMSTREAMSELECTINFO_ENABLED    = 0x1,
  17265.     AMSTREAMSELECTINFO_EXCLUSIVE    = 0x2
  17266.     } ;
  17267.  
  17268. enum _AMSTREAMSELECTENABLEFLAGS
  17269.     {    AMSTREAMSELECTENABLE_ENABLE    = 0x1,
  17270.     AMSTREAMSELECTENABLE_ENABLEALL    = 0x2
  17271.     } ;
  17272.  
  17273.  
  17274. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  17275. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  17276.  
  17277. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  17278. #define __IAMStreamSelect_INTERFACE_DEFINED__
  17279.  
  17280. /* interface IAMStreamSelect */
  17281. /* [unique][uuid][object] */ 
  17282.  
  17283.  
  17284. EXTERN_C const IID IID_IAMStreamSelect;
  17285.  
  17286. #if defined(__cplusplus) && !defined(CINTERFACE)
  17287.     
  17288.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  17289.     IAMStreamSelect : public IUnknown
  17290.     {
  17291.     public:
  17292.         virtual HRESULT STDMETHODCALLTYPE Count( 
  17293.             /* [out] */ DWORD *pcStreams) = 0;
  17294.         
  17295.         virtual HRESULT STDMETHODCALLTYPE Info( 
  17296.             /* [in] */ long lIndex,
  17297.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17298.             /* [out] */ DWORD *pdwFlags,
  17299.             /* [out] */ LCID *plcid,
  17300.             /* [out] */ DWORD *pdwGroup,
  17301.             /* [out] */ WCHAR **ppszName,
  17302.             /* [out] */ IUnknown **ppObject,
  17303.             /* [out] */ IUnknown **ppUnk) = 0;
  17304.         
  17305.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  17306.             /* [in] */ long lIndex,
  17307.             /* [in] */ DWORD dwFlags) = 0;
  17308.         
  17309.     };
  17310.     
  17311. #else     /* C style interface */
  17312.  
  17313.     typedef struct IAMStreamSelectVtbl
  17314.     {
  17315.         BEGIN_INTERFACE
  17316.         
  17317.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17318.             IAMStreamSelect * This,
  17319.             /* [in] */ REFIID riid,
  17320.             /* [iid_is][out] */ void **ppvObject);
  17321.         
  17322.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17323.             IAMStreamSelect * This);
  17324.         
  17325.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17326.             IAMStreamSelect * This);
  17327.         
  17328.         HRESULT ( STDMETHODCALLTYPE *Count )( 
  17329.             IAMStreamSelect * This,
  17330.             /* [out] */ DWORD *pcStreams);
  17331.         
  17332.         HRESULT ( STDMETHODCALLTYPE *Info )( 
  17333.             IAMStreamSelect * This,
  17334.             /* [in] */ long lIndex,
  17335.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  17336.             /* [out] */ DWORD *pdwFlags,
  17337.             /* [out] */ LCID *plcid,
  17338.             /* [out] */ DWORD *pdwGroup,
  17339.             /* [out] */ WCHAR **ppszName,
  17340.             /* [out] */ IUnknown **ppObject,
  17341.             /* [out] */ IUnknown **ppUnk);
  17342.         
  17343.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  17344.             IAMStreamSelect * This,
  17345.             /* [in] */ long lIndex,
  17346.             /* [in] */ DWORD dwFlags);
  17347.         
  17348.         END_INTERFACE
  17349.     } IAMStreamSelectVtbl;
  17350.  
  17351.     interface IAMStreamSelect
  17352.     {
  17353.         CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  17354.     };
  17355.  
  17356.     
  17357.  
  17358. #ifdef COBJMACROS
  17359.  
  17360.  
  17361. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)    \
  17362.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17363.  
  17364. #define IAMStreamSelect_AddRef(This)    \
  17365.     (This)->lpVtbl -> AddRef(This)
  17366.  
  17367. #define IAMStreamSelect_Release(This)    \
  17368.     (This)->lpVtbl -> Release(This)
  17369.  
  17370.  
  17371. #define IAMStreamSelect_Count(This,pcStreams)    \
  17372.     (This)->lpVtbl -> Count(This,pcStreams)
  17373.  
  17374. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)    \
  17375.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  17376.  
  17377. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)    \
  17378.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  17379.  
  17380. #endif /* COBJMACROS */
  17381.  
  17382.  
  17383. #endif     /* C style interface */
  17384.  
  17385.  
  17386.  
  17387. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  17388.     IAMStreamSelect * This,
  17389.     /* [out] */ DWORD *pcStreams);
  17390.  
  17391.  
  17392. void __RPC_STUB IAMStreamSelect_Count_Stub(
  17393.     IRpcStubBuffer *This,
  17394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17395.     PRPC_MESSAGE _pRpcMessage,
  17396.     DWORD *_pdwStubPhase);
  17397.  
  17398.  
  17399. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  17400.     IAMStreamSelect * This,
  17401.     /* [in] */ long lIndex,
  17402.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  17403.     /* [out] */ DWORD *pdwFlags,
  17404.     /* [out] */ LCID *plcid,
  17405.     /* [out] */ DWORD *pdwGroup,
  17406.     /* [out] */ WCHAR **ppszName,
  17407.     /* [out] */ IUnknown **ppObject,
  17408.     /* [out] */ IUnknown **ppUnk);
  17409.  
  17410.  
  17411. void __RPC_STUB IAMStreamSelect_Info_Stub(
  17412.     IRpcStubBuffer *This,
  17413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17414.     PRPC_MESSAGE _pRpcMessage,
  17415.     DWORD *_pdwStubPhase);
  17416.  
  17417.  
  17418. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  17419.     IAMStreamSelect * This,
  17420.     /* [in] */ long lIndex,
  17421.     /* [in] */ DWORD dwFlags);
  17422.  
  17423.  
  17424. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  17425.     IRpcStubBuffer *This,
  17426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17427.     PRPC_MESSAGE _pRpcMessage,
  17428.     DWORD *_pdwStubPhase);
  17429.  
  17430.  
  17431.  
  17432. #endif     /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  17433.  
  17434.  
  17435. /* interface __MIDL_itf_strmif_0336 */
  17436. /* [local] */ 
  17437.  
  17438. typedef IAMStreamSelect *PAMSTREAMSELECT;
  17439.  
  17440.  
  17441. enum _AMRESCTL_RESERVEFLAGS
  17442.     {    AMRESCTL_RESERVEFLAGS_RESERVE    = 0,
  17443.     AMRESCTL_RESERVEFLAGS_UNRESERVE    = 0x1
  17444.     } ;
  17445.  
  17446.  
  17447. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_c_ifspec;
  17448. extern RPC_IF_HANDLE __MIDL_itf_strmif_0336_v0_0_s_ifspec;
  17449.  
  17450. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  17451. #define __IAMResourceControl_INTERFACE_DEFINED__
  17452.  
  17453. /* interface IAMResourceControl */
  17454. /* [local][unique][uuid][object] */ 
  17455.  
  17456.  
  17457. EXTERN_C const IID IID_IAMResourceControl;
  17458.  
  17459. #if defined(__cplusplus) && !defined(CINTERFACE)
  17460.     
  17461.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  17462.     IAMResourceControl : public IUnknown
  17463.     {
  17464.     public:
  17465.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  17466.             /* [in] */ DWORD dwFlags,
  17467.             /* [in] */ PVOID pvReserved) = 0;
  17468.         
  17469.     };
  17470.     
  17471. #else     /* C style interface */
  17472.  
  17473.     typedef struct IAMResourceControlVtbl
  17474.     {
  17475.         BEGIN_INTERFACE
  17476.         
  17477.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17478.             IAMResourceControl * This,
  17479.             /* [in] */ REFIID riid,
  17480.             /* [iid_is][out] */ void **ppvObject);
  17481.         
  17482.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17483.             IAMResourceControl * This);
  17484.         
  17485.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17486.             IAMResourceControl * This);
  17487.         
  17488.         HRESULT ( STDMETHODCALLTYPE *Reserve )( 
  17489.             IAMResourceControl * This,
  17490.             /* [in] */ DWORD dwFlags,
  17491.             /* [in] */ PVOID pvReserved);
  17492.         
  17493.         END_INTERFACE
  17494.     } IAMResourceControlVtbl;
  17495.  
  17496.     interface IAMResourceControl
  17497.     {
  17498.         CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  17499.     };
  17500.  
  17501.     
  17502.  
  17503. #ifdef COBJMACROS
  17504.  
  17505.  
  17506. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)    \
  17507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17508.  
  17509. #define IAMResourceControl_AddRef(This)    \
  17510.     (This)->lpVtbl -> AddRef(This)
  17511.  
  17512. #define IAMResourceControl_Release(This)    \
  17513.     (This)->lpVtbl -> Release(This)
  17514.  
  17515.  
  17516. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)    \
  17517.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  17518.  
  17519. #endif /* COBJMACROS */
  17520.  
  17521.  
  17522. #endif     /* C style interface */
  17523.  
  17524.  
  17525.  
  17526. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  17527.     IAMResourceControl * This,
  17528.     /* [in] */ DWORD dwFlags,
  17529.     /* [in] */ PVOID pvReserved);
  17530.  
  17531.  
  17532. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  17533.     IRpcStubBuffer *This,
  17534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17535.     PRPC_MESSAGE _pRpcMessage,
  17536.     DWORD *_pdwStubPhase);
  17537.  
  17538.  
  17539.  
  17540. #endif     /* __IAMResourceControl_INTERFACE_DEFINED__ */
  17541.  
  17542.  
  17543. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  17544. #define __IAMClockAdjust_INTERFACE_DEFINED__
  17545.  
  17546. /* interface IAMClockAdjust */
  17547. /* [local][unique][uuid][object] */ 
  17548.  
  17549.  
  17550. EXTERN_C const IID IID_IAMClockAdjust;
  17551.  
  17552. #if defined(__cplusplus) && !defined(CINTERFACE)
  17553.     
  17554.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  17555.     IAMClockAdjust : public IUnknown
  17556.     {
  17557.     public:
  17558.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  17559.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  17560.         
  17561.     };
  17562.     
  17563. #else     /* C style interface */
  17564.  
  17565.     typedef struct IAMClockAdjustVtbl
  17566.     {
  17567.         BEGIN_INTERFACE
  17568.         
  17569.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17570.             IAMClockAdjust * This,
  17571.             /* [in] */ REFIID riid,
  17572.             /* [iid_is][out] */ void **ppvObject);
  17573.         
  17574.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17575.             IAMClockAdjust * This);
  17576.         
  17577.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17578.             IAMClockAdjust * This);
  17579.         
  17580.         HRESULT ( STDMETHODCALLTYPE *SetClockDelta )( 
  17581.             IAMClockAdjust * This,
  17582.             /* [in] */ REFERENCE_TIME rtDelta);
  17583.         
  17584.         END_INTERFACE
  17585.     } IAMClockAdjustVtbl;
  17586.  
  17587.     interface IAMClockAdjust
  17588.     {
  17589.         CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  17590.     };
  17591.  
  17592.     
  17593.  
  17594. #ifdef COBJMACROS
  17595.  
  17596.  
  17597. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)    \
  17598.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17599.  
  17600. #define IAMClockAdjust_AddRef(This)    \
  17601.     (This)->lpVtbl -> AddRef(This)
  17602.  
  17603. #define IAMClockAdjust_Release(This)    \
  17604.     (This)->lpVtbl -> Release(This)
  17605.  
  17606.  
  17607. #define IAMClockAdjust_SetClockDelta(This,rtDelta)    \
  17608.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  17609.  
  17610. #endif /* COBJMACROS */
  17611.  
  17612.  
  17613. #endif     /* C style interface */
  17614.  
  17615.  
  17616.  
  17617. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  17618.     IAMClockAdjust * This,
  17619.     /* [in] */ REFERENCE_TIME rtDelta);
  17620.  
  17621.  
  17622. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  17623.     IRpcStubBuffer *This,
  17624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17625.     PRPC_MESSAGE _pRpcMessage,
  17626.     DWORD *_pdwStubPhase);
  17627.  
  17628.  
  17629.  
  17630. #endif     /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  17631.  
  17632.  
  17633. /* interface __MIDL_itf_strmif_0338 */
  17634. /* [local] */ 
  17635.  
  17636.  
  17637. enum _AM_FILTER_MISC_FLAGS
  17638.     {    AM_FILTER_MISC_FLAGS_IS_RENDERER    = 0x1,
  17639.     AM_FILTER_MISC_FLAGS_IS_SOURCE    = 0x2
  17640.     } ;
  17641.  
  17642.  
  17643. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_c_ifspec;
  17644. extern RPC_IF_HANDLE __MIDL_itf_strmif_0338_v0_0_s_ifspec;
  17645.  
  17646. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17647. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  17648.  
  17649. /* interface IAMFilterMiscFlags */
  17650. /* [local][unique][uuid][object] */ 
  17651.  
  17652.  
  17653. EXTERN_C const IID IID_IAMFilterMiscFlags;
  17654.  
  17655. #if defined(__cplusplus) && !defined(CINTERFACE)
  17656.     
  17657.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  17658.     IAMFilterMiscFlags : public IUnknown
  17659.     {
  17660.     public:
  17661.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  17662.         
  17663.     };
  17664.     
  17665. #else     /* C style interface */
  17666.  
  17667.     typedef struct IAMFilterMiscFlagsVtbl
  17668.     {
  17669.         BEGIN_INTERFACE
  17670.         
  17671.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17672.             IAMFilterMiscFlags * This,
  17673.             /* [in] */ REFIID riid,
  17674.             /* [iid_is][out] */ void **ppvObject);
  17675.         
  17676.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17677.             IAMFilterMiscFlags * This);
  17678.         
  17679.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17680.             IAMFilterMiscFlags * This);
  17681.         
  17682.         ULONG ( STDMETHODCALLTYPE *GetMiscFlags )( 
  17683.             IAMFilterMiscFlags * This);
  17684.         
  17685.         END_INTERFACE
  17686.     } IAMFilterMiscFlagsVtbl;
  17687.  
  17688.     interface IAMFilterMiscFlags
  17689.     {
  17690.         CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  17691.     };
  17692.  
  17693.     
  17694.  
  17695. #ifdef COBJMACROS
  17696.  
  17697.  
  17698. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)    \
  17699.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17700.  
  17701. #define IAMFilterMiscFlags_AddRef(This)    \
  17702.     (This)->lpVtbl -> AddRef(This)
  17703.  
  17704. #define IAMFilterMiscFlags_Release(This)    \
  17705.     (This)->lpVtbl -> Release(This)
  17706.  
  17707.  
  17708. #define IAMFilterMiscFlags_GetMiscFlags(This)    \
  17709.     (This)->lpVtbl -> GetMiscFlags(This)
  17710.  
  17711. #endif /* COBJMACROS */
  17712.  
  17713.  
  17714. #endif     /* C style interface */
  17715.  
  17716.  
  17717.  
  17718. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  17719.     IAMFilterMiscFlags * This);
  17720.  
  17721.  
  17722. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  17723.     IRpcStubBuffer *This,
  17724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17725.     PRPC_MESSAGE _pRpcMessage,
  17726.     DWORD *_pdwStubPhase);
  17727.  
  17728.  
  17729.  
  17730. #endif     /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  17731.  
  17732.  
  17733. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  17734. #define __IDrawVideoImage_INTERFACE_DEFINED__
  17735.  
  17736. /* interface IDrawVideoImage */
  17737. /* [unique][uuid][local][object] */ 
  17738.  
  17739.  
  17740. EXTERN_C const IID IID_IDrawVideoImage;
  17741.  
  17742. #if defined(__cplusplus) && !defined(CINTERFACE)
  17743.     
  17744.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  17745.     IDrawVideoImage : public IUnknown
  17746.     {
  17747.     public:
  17748.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  17749.         
  17750.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  17751.         
  17752.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  17753.             /* [in] */ HDC hdc,
  17754.             /* [in] */ LPRECT lprcSrc,
  17755.             /* [in] */ LPRECT lprcDst) = 0;
  17756.         
  17757.     };
  17758.     
  17759. #else     /* C style interface */
  17760.  
  17761.     typedef struct IDrawVideoImageVtbl
  17762.     {
  17763.         BEGIN_INTERFACE
  17764.         
  17765.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17766.             IDrawVideoImage * This,
  17767.             /* [in] */ REFIID riid,
  17768.             /* [iid_is][out] */ void **ppvObject);
  17769.         
  17770.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17771.             IDrawVideoImage * This);
  17772.         
  17773.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17774.             IDrawVideoImage * This);
  17775.         
  17776.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )( 
  17777.             IDrawVideoImage * This);
  17778.         
  17779.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )( 
  17780.             IDrawVideoImage * This);
  17781.         
  17782.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )( 
  17783.             IDrawVideoImage * This,
  17784.             /* [in] */ HDC hdc,
  17785.             /* [in] */ LPRECT lprcSrc,
  17786.             /* [in] */ LPRECT lprcDst);
  17787.         
  17788.         END_INTERFACE
  17789.     } IDrawVideoImageVtbl;
  17790.  
  17791.     interface IDrawVideoImage
  17792.     {
  17793.         CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  17794.     };
  17795.  
  17796.     
  17797.  
  17798. #ifdef COBJMACROS
  17799.  
  17800.  
  17801. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)    \
  17802.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17803.  
  17804. #define IDrawVideoImage_AddRef(This)    \
  17805.     (This)->lpVtbl -> AddRef(This)
  17806.  
  17807. #define IDrawVideoImage_Release(This)    \
  17808.     (This)->lpVtbl -> Release(This)
  17809.  
  17810.  
  17811. #define IDrawVideoImage_DrawVideoImageBegin(This)    \
  17812.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  17813.  
  17814. #define IDrawVideoImage_DrawVideoImageEnd(This)    \
  17815.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  17816.  
  17817. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)    \
  17818.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  17819.  
  17820. #endif /* COBJMACROS */
  17821.  
  17822.  
  17823. #endif     /* C style interface */
  17824.  
  17825.  
  17826.  
  17827. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  17828.     IDrawVideoImage * This);
  17829.  
  17830.  
  17831. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  17832.     IRpcStubBuffer *This,
  17833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17834.     PRPC_MESSAGE _pRpcMessage,
  17835.     DWORD *_pdwStubPhase);
  17836.  
  17837.  
  17838. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  17839.     IDrawVideoImage * This);
  17840.  
  17841.  
  17842. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  17843.     IRpcStubBuffer *This,
  17844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17845.     PRPC_MESSAGE _pRpcMessage,
  17846.     DWORD *_pdwStubPhase);
  17847.  
  17848.  
  17849. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  17850.     IDrawVideoImage * This,
  17851.     /* [in] */ HDC hdc,
  17852.     /* [in] */ LPRECT lprcSrc,
  17853.     /* [in] */ LPRECT lprcDst);
  17854.  
  17855.  
  17856. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  17857.     IRpcStubBuffer *This,
  17858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17859.     PRPC_MESSAGE _pRpcMessage,
  17860.     DWORD *_pdwStubPhase);
  17861.  
  17862.  
  17863.  
  17864. #endif     /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  17865.  
  17866.  
  17867. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  17868. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  17869.  
  17870. /* interface IDecimateVideoImage */
  17871. /* [unique][uuid][local][object] */ 
  17872.  
  17873.  
  17874. EXTERN_C const IID IID_IDecimateVideoImage;
  17875.  
  17876. #if defined(__cplusplus) && !defined(CINTERFACE)
  17877.     
  17878.     MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  17879.     IDecimateVideoImage : public IUnknown
  17880.     {
  17881.     public:
  17882.         virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize( 
  17883.             /* [in] */ long lWidth,
  17884.             /* [in] */ long lHeight) = 0;
  17885.         
  17886.         virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  17887.         
  17888.     };
  17889.     
  17890. #else     /* C style interface */
  17891.  
  17892.     typedef struct IDecimateVideoImageVtbl
  17893.     {
  17894.         BEGIN_INTERFACE
  17895.         
  17896.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  17897.             IDecimateVideoImage * This,
  17898.             /* [in] */ REFIID riid,
  17899.             /* [iid_is][out] */ void **ppvObject);
  17900.         
  17901.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  17902.             IDecimateVideoImage * This);
  17903.         
  17904.         ULONG ( STDMETHODCALLTYPE *Release )( 
  17905.             IDecimateVideoImage * This);
  17906.         
  17907.         HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )( 
  17908.             IDecimateVideoImage * This,
  17909.             /* [in] */ long lWidth,
  17910.             /* [in] */ long lHeight);
  17911.         
  17912.         HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )( 
  17913.             IDecimateVideoImage * This);
  17914.         
  17915.         END_INTERFACE
  17916.     } IDecimateVideoImageVtbl;
  17917.  
  17918.     interface IDecimateVideoImage
  17919.     {
  17920.         CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  17921.     };
  17922.  
  17923.     
  17924.  
  17925. #ifdef COBJMACROS
  17926.  
  17927.  
  17928. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)    \
  17929.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  17930.  
  17931. #define IDecimateVideoImage_AddRef(This)    \
  17932.     (This)->lpVtbl -> AddRef(This)
  17933.  
  17934. #define IDecimateVideoImage_Release(This)    \
  17935.     (This)->lpVtbl -> Release(This)
  17936.  
  17937.  
  17938. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)    \
  17939.     (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  17940.  
  17941. #define IDecimateVideoImage_ResetDecimationImageSize(This)    \
  17942.     (This)->lpVtbl -> ResetDecimationImageSize(This)
  17943.  
  17944. #endif /* COBJMACROS */
  17945.  
  17946.  
  17947. #endif     /* C style interface */
  17948.  
  17949.  
  17950.  
  17951. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy( 
  17952.     IDecimateVideoImage * This,
  17953.     /* [in] */ long lWidth,
  17954.     /* [in] */ long lHeight);
  17955.  
  17956.  
  17957. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  17958.     IRpcStubBuffer *This,
  17959.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17960.     PRPC_MESSAGE _pRpcMessage,
  17961.     DWORD *_pdwStubPhase);
  17962.  
  17963.  
  17964. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy( 
  17965.     IDecimateVideoImage * This);
  17966.  
  17967.  
  17968. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  17969.     IRpcStubBuffer *This,
  17970.     IRpcChannelBuffer *_pRpcChannelBuffer,
  17971.     PRPC_MESSAGE _pRpcMessage,
  17972.     DWORD *_pdwStubPhase);
  17973.  
  17974.  
  17975.  
  17976. #endif     /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  17977.  
  17978.  
  17979. /* interface __MIDL_itf_strmif_0341 */
  17980. /* [local] */ 
  17981.  
  17982. typedef 
  17983. enum _DECIMATION_USAGE
  17984.     {    DECIMATION_LEGACY    = 0,
  17985.     DECIMATION_USE_DECODER_ONLY    = DECIMATION_LEGACY + 1,
  17986.     DECIMATION_USE_VIDEOPORT_ONLY    = DECIMATION_USE_DECODER_ONLY + 1,
  17987.     DECIMATION_USE_OVERLAY_ONLY    = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  17988.     DECIMATION_DEFAULT    = DECIMATION_USE_OVERLAY_ONLY + 1
  17989.     }     DECIMATION_USAGE;
  17990.  
  17991.  
  17992.  
  17993. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_c_ifspec;
  17994. extern RPC_IF_HANDLE __MIDL_itf_strmif_0341_v0_0_s_ifspec;
  17995.  
  17996. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  17997. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  17998.  
  17999. /* interface IAMVideoDecimationProperties */
  18000. /* [unique][uuid][local][object] */ 
  18001.  
  18002.  
  18003. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  18004.  
  18005. #if defined(__cplusplus) && !defined(CINTERFACE)
  18006.     
  18007.     MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  18008.     IAMVideoDecimationProperties : public IUnknown
  18009.     {
  18010.     public:
  18011.         virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage( 
  18012.             /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  18013.         
  18014.         virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage( 
  18015.             /* [in] */ DECIMATION_USAGE Usage) = 0;
  18016.         
  18017.     };
  18018.     
  18019. #else     /* C style interface */
  18020.  
  18021.     typedef struct IAMVideoDecimationPropertiesVtbl
  18022.     {
  18023.         BEGIN_INTERFACE
  18024.         
  18025.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18026.             IAMVideoDecimationProperties * This,
  18027.             /* [in] */ REFIID riid,
  18028.             /* [iid_is][out] */ void **ppvObject);
  18029.         
  18030.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18031.             IAMVideoDecimationProperties * This);
  18032.         
  18033.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18034.             IAMVideoDecimationProperties * This);
  18035.         
  18036.         HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )( 
  18037.             IAMVideoDecimationProperties * This,
  18038.             /* [out] */ DECIMATION_USAGE *lpUsage);
  18039.         
  18040.         HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )( 
  18041.             IAMVideoDecimationProperties * This,
  18042.             /* [in] */ DECIMATION_USAGE Usage);
  18043.         
  18044.         END_INTERFACE
  18045.     } IAMVideoDecimationPropertiesVtbl;
  18046.  
  18047.     interface IAMVideoDecimationProperties
  18048.     {
  18049.         CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  18050.     };
  18051.  
  18052.     
  18053.  
  18054. #ifdef COBJMACROS
  18055.  
  18056.  
  18057. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)    \
  18058.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18059.  
  18060. #define IAMVideoDecimationProperties_AddRef(This)    \
  18061.     (This)->lpVtbl -> AddRef(This)
  18062.  
  18063. #define IAMVideoDecimationProperties_Release(This)    \
  18064.     (This)->lpVtbl -> Release(This)
  18065.  
  18066.  
  18067. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)    \
  18068.     (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  18069.  
  18070. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)    \
  18071.     (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  18072.  
  18073. #endif /* COBJMACROS */
  18074.  
  18075.  
  18076. #endif     /* C style interface */
  18077.  
  18078.  
  18079.  
  18080. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy( 
  18081.     IAMVideoDecimationProperties * This,
  18082.     /* [out] */ DECIMATION_USAGE *lpUsage);
  18083.  
  18084.  
  18085. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  18086.     IRpcStubBuffer *This,
  18087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18088.     PRPC_MESSAGE _pRpcMessage,
  18089.     DWORD *_pdwStubPhase);
  18090.  
  18091.  
  18092. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy( 
  18093.     IAMVideoDecimationProperties * This,
  18094.     /* [in] */ DECIMATION_USAGE Usage);
  18095.  
  18096.  
  18097. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  18098.     IRpcStubBuffer *This,
  18099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18100.     PRPC_MESSAGE _pRpcMessage,
  18101.     DWORD *_pdwStubPhase);
  18102.  
  18103.  
  18104.  
  18105. #endif     /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  18106.  
  18107.  
  18108. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  18109. #define __IVideoFrameStep_INTERFACE_DEFINED__
  18110.  
  18111. /* interface IVideoFrameStep */
  18112. /* [unique][uuid][object] */ 
  18113.  
  18114.  
  18115. EXTERN_C const IID IID_IVideoFrameStep;
  18116.  
  18117. #if defined(__cplusplus) && !defined(CINTERFACE)
  18118.     
  18119.     MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  18120.     IVideoFrameStep : public IUnknown
  18121.     {
  18122.     public:
  18123.         virtual HRESULT STDMETHODCALLTYPE Step( 
  18124.             DWORD dwFrames,
  18125.             /* [unique] */ IUnknown *pStepObject) = 0;
  18126.         
  18127.         virtual HRESULT STDMETHODCALLTYPE CanStep( 
  18128.             long bMultiple,
  18129.             /* [unique] */ IUnknown *pStepObject) = 0;
  18130.         
  18131.         virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  18132.         
  18133.     };
  18134.     
  18135. #else     /* C style interface */
  18136.  
  18137.     typedef struct IVideoFrameStepVtbl
  18138.     {
  18139.         BEGIN_INTERFACE
  18140.         
  18141.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18142.             IVideoFrameStep * This,
  18143.             /* [in] */ REFIID riid,
  18144.             /* [iid_is][out] */ void **ppvObject);
  18145.         
  18146.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18147.             IVideoFrameStep * This);
  18148.         
  18149.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18150.             IVideoFrameStep * This);
  18151.         
  18152.         HRESULT ( STDMETHODCALLTYPE *Step )( 
  18153.             IVideoFrameStep * This,
  18154.             DWORD dwFrames,
  18155.             /* [unique] */ IUnknown *pStepObject);
  18156.         
  18157.         HRESULT ( STDMETHODCALLTYPE *CanStep )( 
  18158.             IVideoFrameStep * This,
  18159.             long bMultiple,
  18160.             /* [unique] */ IUnknown *pStepObject);
  18161.         
  18162.         HRESULT ( STDMETHODCALLTYPE *CancelStep )( 
  18163.             IVideoFrameStep * This);
  18164.         
  18165.         END_INTERFACE
  18166.     } IVideoFrameStepVtbl;
  18167.  
  18168.     interface IVideoFrameStep
  18169.     {
  18170.         CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  18171.     };
  18172.  
  18173.     
  18174.  
  18175. #ifdef COBJMACROS
  18176.  
  18177.  
  18178. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject)    \
  18179.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18180.  
  18181. #define IVideoFrameStep_AddRef(This)    \
  18182.     (This)->lpVtbl -> AddRef(This)
  18183.  
  18184. #define IVideoFrameStep_Release(This)    \
  18185.     (This)->lpVtbl -> Release(This)
  18186.  
  18187.  
  18188. #define IVideoFrameStep_Step(This,dwFrames,pStepObject)    \
  18189.     (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  18190.  
  18191. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)    \
  18192.     (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  18193.  
  18194. #define IVideoFrameStep_CancelStep(This)    \
  18195.     (This)->lpVtbl -> CancelStep(This)
  18196.  
  18197. #endif /* COBJMACROS */
  18198.  
  18199.  
  18200. #endif     /* C style interface */
  18201.  
  18202.  
  18203.  
  18204. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy( 
  18205.     IVideoFrameStep * This,
  18206.     DWORD dwFrames,
  18207.     /* [unique] */ IUnknown *pStepObject);
  18208.  
  18209.  
  18210. void __RPC_STUB IVideoFrameStep_Step_Stub(
  18211.     IRpcStubBuffer *This,
  18212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18213.     PRPC_MESSAGE _pRpcMessage,
  18214.     DWORD *_pdwStubPhase);
  18215.  
  18216.  
  18217. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy( 
  18218.     IVideoFrameStep * This,
  18219.     long bMultiple,
  18220.     /* [unique] */ IUnknown *pStepObject);
  18221.  
  18222.  
  18223. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  18224.     IRpcStubBuffer *This,
  18225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18226.     PRPC_MESSAGE _pRpcMessage,
  18227.     DWORD *_pdwStubPhase);
  18228.  
  18229.  
  18230. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy( 
  18231.     IVideoFrameStep * This);
  18232.  
  18233.  
  18234. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  18235.     IRpcStubBuffer *This,
  18236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18237.     PRPC_MESSAGE _pRpcMessage,
  18238.     DWORD *_pdwStubPhase);
  18239.  
  18240.  
  18241.  
  18242. #endif     /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  18243.  
  18244.  
  18245. /* interface __MIDL_itf_strmif_0343 */
  18246. /* [local] */ 
  18247.  
  18248.  
  18249. enum _AM_PUSHSOURCE_FLAGS
  18250.     {    AM_PUSHSOURCECAPS_INTERNAL_RM    = 0x1,
  18251.     AM_PUSHSOURCECAPS_NOT_LIVE    = 0x2,
  18252.     AM_PUSHSOURCECAPS_PRIVATE_CLOCK    = 0x4,
  18253.     AM_PUSHSOURCEREQS_USE_STREAM_CLOCK    = 0x10000
  18254.     } ;
  18255.  
  18256.  
  18257. extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_c_ifspec;
  18258. extern RPC_IF_HANDLE __MIDL_itf_strmif_0343_v0_0_s_ifspec;
  18259.  
  18260. #ifndef __IAMLatency_INTERFACE_DEFINED__
  18261. #define __IAMLatency_INTERFACE_DEFINED__
  18262.  
  18263. /* interface IAMLatency */
  18264. /* [unique][uuid][object] */ 
  18265.  
  18266.  
  18267. EXTERN_C const IID IID_IAMLatency;
  18268.  
  18269. #if defined(__cplusplus) && !defined(CINTERFACE)
  18270.     
  18271.     MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  18272.     IAMLatency : public IUnknown
  18273.     {
  18274.     public:
  18275.         virtual HRESULT STDMETHODCALLTYPE GetLatency( 
  18276.             /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  18277.         
  18278.     };
  18279.     
  18280. #else     /* C style interface */
  18281.  
  18282.     typedef struct IAMLatencyVtbl
  18283.     {
  18284.         BEGIN_INTERFACE
  18285.         
  18286.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18287.             IAMLatency * This,
  18288.             /* [in] */ REFIID riid,
  18289.             /* [iid_is][out] */ void **ppvObject);
  18290.         
  18291.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18292.             IAMLatency * This);
  18293.         
  18294.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18295.             IAMLatency * This);
  18296.         
  18297.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18298.             IAMLatency * This,
  18299.             /* [in] */ REFERENCE_TIME *prtLatency);
  18300.         
  18301.         END_INTERFACE
  18302.     } IAMLatencyVtbl;
  18303.  
  18304.     interface IAMLatency
  18305.     {
  18306.         CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  18307.     };
  18308.  
  18309.     
  18310.  
  18311. #ifdef COBJMACROS
  18312.  
  18313.  
  18314. #define IAMLatency_QueryInterface(This,riid,ppvObject)    \
  18315.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18316.  
  18317. #define IAMLatency_AddRef(This)    \
  18318.     (This)->lpVtbl -> AddRef(This)
  18319.  
  18320. #define IAMLatency_Release(This)    \
  18321.     (This)->lpVtbl -> Release(This)
  18322.  
  18323.  
  18324. #define IAMLatency_GetLatency(This,prtLatency)    \
  18325.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18326.  
  18327. #endif /* COBJMACROS */
  18328.  
  18329.  
  18330. #endif     /* C style interface */
  18331.  
  18332.  
  18333.  
  18334. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy( 
  18335.     IAMLatency * This,
  18336.     /* [in] */ REFERENCE_TIME *prtLatency);
  18337.  
  18338.  
  18339. void __RPC_STUB IAMLatency_GetLatency_Stub(
  18340.     IRpcStubBuffer *This,
  18341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18342.     PRPC_MESSAGE _pRpcMessage,
  18343.     DWORD *_pdwStubPhase);
  18344.  
  18345.  
  18346.  
  18347. #endif     /* __IAMLatency_INTERFACE_DEFINED__ */
  18348.  
  18349.  
  18350. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  18351. #define __IAMPushSource_INTERFACE_DEFINED__
  18352.  
  18353. /* interface IAMPushSource */
  18354. /* [unique][uuid][object] */ 
  18355.  
  18356.  
  18357. EXTERN_C const IID IID_IAMPushSource;
  18358.  
  18359. #if defined(__cplusplus) && !defined(CINTERFACE)
  18360.     
  18361.     MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  18362.     IAMPushSource : public IAMLatency
  18363.     {
  18364.     public:
  18365.         virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 
  18366.             /* [out] */ ULONG *pFlags) = 0;
  18367.         
  18368.         virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 
  18369.             /* [in] */ ULONG Flags) = 0;
  18370.         
  18371.         virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 
  18372.             /* [in] */ REFERENCE_TIME rtOffset) = 0;
  18373.         
  18374.         virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 
  18375.             /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  18376.         
  18377.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 
  18378.             /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  18379.         
  18380.         virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 
  18381.             /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  18382.         
  18383.     };
  18384.     
  18385. #else     /* C style interface */
  18386.  
  18387.     typedef struct IAMPushSourceVtbl
  18388.     {
  18389.         BEGIN_INTERFACE
  18390.         
  18391.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18392.             IAMPushSource * This,
  18393.             /* [in] */ REFIID riid,
  18394.             /* [iid_is][out] */ void **ppvObject);
  18395.         
  18396.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18397.             IAMPushSource * This);
  18398.         
  18399.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18400.             IAMPushSource * This);
  18401.         
  18402.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  18403.             IAMPushSource * This,
  18404.             /* [in] */ REFERENCE_TIME *prtLatency);
  18405.         
  18406.         HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )( 
  18407.             IAMPushSource * This,
  18408.             /* [out] */ ULONG *pFlags);
  18409.         
  18410.         HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )( 
  18411.             IAMPushSource * This,
  18412.             /* [in] */ ULONG Flags);
  18413.         
  18414.         HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )( 
  18415.             IAMPushSource * This,
  18416.             /* [in] */ REFERENCE_TIME rtOffset);
  18417.         
  18418.         HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )( 
  18419.             IAMPushSource * This,
  18420.             /* [out] */ REFERENCE_TIME *prtOffset);
  18421.         
  18422.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )( 
  18423.             IAMPushSource * This,
  18424.             /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18425.         
  18426.         HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )( 
  18427.             IAMPushSource * This,
  18428.             /* [in] */ REFERENCE_TIME rtMaxOffset);
  18429.         
  18430.         END_INTERFACE
  18431.     } IAMPushSourceVtbl;
  18432.  
  18433.     interface IAMPushSource
  18434.     {
  18435.         CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  18436.     };
  18437.  
  18438.     
  18439.  
  18440. #ifdef COBJMACROS
  18441.  
  18442.  
  18443. #define IAMPushSource_QueryInterface(This,riid,ppvObject)    \
  18444.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18445.  
  18446. #define IAMPushSource_AddRef(This)    \
  18447.     (This)->lpVtbl -> AddRef(This)
  18448.  
  18449. #define IAMPushSource_Release(This)    \
  18450.     (This)->lpVtbl -> Release(This)
  18451.  
  18452.  
  18453. #define IAMPushSource_GetLatency(This,prtLatency)    \
  18454.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  18455.  
  18456.  
  18457. #define IAMPushSource_GetPushSourceFlags(This,pFlags)    \
  18458.     (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  18459.  
  18460. #define IAMPushSource_SetPushSourceFlags(This,Flags)    \
  18461.     (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  18462.  
  18463. #define IAMPushSource_SetStreamOffset(This,rtOffset)    \
  18464.     (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  18465.  
  18466. #define IAMPushSource_GetStreamOffset(This,prtOffset)    \
  18467.     (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  18468.  
  18469. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)    \
  18470.     (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  18471.  
  18472. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)    \
  18473.     (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  18474.  
  18475. #endif /* COBJMACROS */
  18476.  
  18477.  
  18478. #endif     /* C style interface */
  18479.  
  18480.  
  18481.  
  18482. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy( 
  18483.     IAMPushSource * This,
  18484.     /* [out] */ ULONG *pFlags);
  18485.  
  18486.  
  18487. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  18488.     IRpcStubBuffer *This,
  18489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18490.     PRPC_MESSAGE _pRpcMessage,
  18491.     DWORD *_pdwStubPhase);
  18492.  
  18493.  
  18494. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy( 
  18495.     IAMPushSource * This,
  18496.     /* [in] */ ULONG Flags);
  18497.  
  18498.  
  18499. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  18500.     IRpcStubBuffer *This,
  18501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18502.     PRPC_MESSAGE _pRpcMessage,
  18503.     DWORD *_pdwStubPhase);
  18504.  
  18505.  
  18506. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy( 
  18507.     IAMPushSource * This,
  18508.     /* [in] */ REFERENCE_TIME rtOffset);
  18509.  
  18510.  
  18511. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  18512.     IRpcStubBuffer *This,
  18513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18514.     PRPC_MESSAGE _pRpcMessage,
  18515.     DWORD *_pdwStubPhase);
  18516.  
  18517.  
  18518. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy( 
  18519.     IAMPushSource * This,
  18520.     /* [out] */ REFERENCE_TIME *prtOffset);
  18521.  
  18522.  
  18523. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  18524.     IRpcStubBuffer *This,
  18525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18526.     PRPC_MESSAGE _pRpcMessage,
  18527.     DWORD *_pdwStubPhase);
  18528.  
  18529.  
  18530. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy( 
  18531.     IAMPushSource * This,
  18532.     /* [out] */ REFERENCE_TIME *prtMaxOffset);
  18533.  
  18534.  
  18535. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  18536.     IRpcStubBuffer *This,
  18537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18538.     PRPC_MESSAGE _pRpcMessage,
  18539.     DWORD *_pdwStubPhase);
  18540.  
  18541.  
  18542. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy( 
  18543.     IAMPushSource * This,
  18544.     /* [in] */ REFERENCE_TIME rtMaxOffset);
  18545.  
  18546.  
  18547. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  18548.     IRpcStubBuffer *This,
  18549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18550.     PRPC_MESSAGE _pRpcMessage,
  18551.     DWORD *_pdwStubPhase);
  18552.  
  18553.  
  18554.  
  18555. #endif     /* __IAMPushSource_INTERFACE_DEFINED__ */
  18556.  
  18557.  
  18558. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  18559. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  18560.  
  18561. /* interface IAMDeviceRemoval */
  18562. /* [unique][uuid][object] */ 
  18563.  
  18564.  
  18565. EXTERN_C const IID IID_IAMDeviceRemoval;
  18566.  
  18567. #if defined(__cplusplus) && !defined(CINTERFACE)
  18568.     
  18569.     MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  18570.     IAMDeviceRemoval : public IUnknown
  18571.     {
  18572.     public:
  18573.         virtual HRESULT STDMETHODCALLTYPE DeviceInfo( 
  18574.             /* [out] */ CLSID *pclsidInterfaceClass,
  18575.             /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  18576.         
  18577.         virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  18578.         
  18579.         virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  18580.         
  18581.     };
  18582.     
  18583. #else     /* C style interface */
  18584.  
  18585.     typedef struct IAMDeviceRemovalVtbl
  18586.     {
  18587.         BEGIN_INTERFACE
  18588.         
  18589.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18590.             IAMDeviceRemoval * This,
  18591.             /* [in] */ REFIID riid,
  18592.             /* [iid_is][out] */ void **ppvObject);
  18593.         
  18594.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18595.             IAMDeviceRemoval * This);
  18596.         
  18597.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18598.             IAMDeviceRemoval * This);
  18599.         
  18600.         HRESULT ( STDMETHODCALLTYPE *DeviceInfo )( 
  18601.             IAMDeviceRemoval * This,
  18602.             /* [out] */ CLSID *pclsidInterfaceClass,
  18603.             /* [out] */ WCHAR **pwszSymbolicLink);
  18604.         
  18605.         HRESULT ( STDMETHODCALLTYPE *Reassociate )( 
  18606.             IAMDeviceRemoval * This);
  18607.         
  18608.         HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
  18609.             IAMDeviceRemoval * This);
  18610.         
  18611.         END_INTERFACE
  18612.     } IAMDeviceRemovalVtbl;
  18613.  
  18614.     interface IAMDeviceRemoval
  18615.     {
  18616.         CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  18617.     };
  18618.  
  18619.     
  18620.  
  18621. #ifdef COBJMACROS
  18622.  
  18623.  
  18624. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)    \
  18625.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18626.  
  18627. #define IAMDeviceRemoval_AddRef(This)    \
  18628.     (This)->lpVtbl -> AddRef(This)
  18629.  
  18630. #define IAMDeviceRemoval_Release(This)    \
  18631.     (This)->lpVtbl -> Release(This)
  18632.  
  18633.  
  18634. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)    \
  18635.     (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  18636.  
  18637. #define IAMDeviceRemoval_Reassociate(This)    \
  18638.     (This)->lpVtbl -> Reassociate(This)
  18639.  
  18640. #define IAMDeviceRemoval_Disassociate(This)    \
  18641.     (This)->lpVtbl -> Disassociate(This)
  18642.  
  18643. #endif /* COBJMACROS */
  18644.  
  18645.  
  18646. #endif     /* C style interface */
  18647.  
  18648.  
  18649.  
  18650. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy( 
  18651.     IAMDeviceRemoval * This,
  18652.     /* [out] */ CLSID *pclsidInterfaceClass,
  18653.     /* [out] */ WCHAR **pwszSymbolicLink);
  18654.  
  18655.  
  18656. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  18657.     IRpcStubBuffer *This,
  18658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18659.     PRPC_MESSAGE _pRpcMessage,
  18660.     DWORD *_pdwStubPhase);
  18661.  
  18662.  
  18663. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy( 
  18664.     IAMDeviceRemoval * This);
  18665.  
  18666.  
  18667. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  18668.     IRpcStubBuffer *This,
  18669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18670.     PRPC_MESSAGE _pRpcMessage,
  18671.     DWORD *_pdwStubPhase);
  18672.  
  18673.  
  18674. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy( 
  18675.     IAMDeviceRemoval * This);
  18676.  
  18677.  
  18678. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  18679.     IRpcStubBuffer *This,
  18680.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18681.     PRPC_MESSAGE _pRpcMessage,
  18682.     DWORD *_pdwStubPhase);
  18683.  
  18684.  
  18685.  
  18686. #endif     /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  18687.  
  18688.  
  18689. /* interface __MIDL_itf_strmif_0345 */
  18690. /* [local] */ 
  18691.  
  18692. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0345_0001
  18693.     {
  18694.     DWORD dwDVAAuxSrc;
  18695.     DWORD dwDVAAuxCtl;
  18696.     DWORD dwDVAAuxSrc1;
  18697.     DWORD dwDVAAuxCtl1;
  18698.     DWORD dwDVVAuxSrc;
  18699.     DWORD dwDVVAuxCtl;
  18700.     DWORD dwDVReserved[ 2 ];
  18701.     }     DVINFO;
  18702.  
  18703. typedef struct __MIDL___MIDL_itf_strmif_0345_0001 *PDVINFO;
  18704.  
  18705.  
  18706. enum _DVENCODERRESOLUTION
  18707.     {    DVENCODERRESOLUTION_720x480    = 2012,
  18708.     DVENCODERRESOLUTION_360x240    = 2013,
  18709.     DVENCODERRESOLUTION_180x120    = 2014,
  18710.     DVENCODERRESOLUTION_88x60    = 2015
  18711.     } ;
  18712.  
  18713. enum _DVENCODERVIDEOFORMAT
  18714.     {    DVENCODERVIDEOFORMAT_NTSC    = 2000,
  18715.     DVENCODERVIDEOFORMAT_PAL    = 2001
  18716.     } ;
  18717.  
  18718. enum _DVENCODERFORMAT
  18719.     {    DVENCODERFORMAT_DVSD    = 2007,
  18720.     DVENCODERFORMAT_DVHD    = 2008,
  18721.     DVENCODERFORMAT_DVSL    = 2009
  18722.     } ;
  18723.  
  18724.  
  18725. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
  18726. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
  18727.  
  18728. #ifndef __IDVEnc_INTERFACE_DEFINED__
  18729. #define __IDVEnc_INTERFACE_DEFINED__
  18730.  
  18731. /* interface IDVEnc */
  18732. /* [unique][uuid][object] */ 
  18733.  
  18734.  
  18735. EXTERN_C const IID IID_IDVEnc;
  18736.  
  18737. #if defined(__cplusplus) && !defined(CINTERFACE)
  18738.     
  18739.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  18740.     IDVEnc : public IUnknown
  18741.     {
  18742.     public:
  18743.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  18744.             /* [out] */ int *VideoFormat,
  18745.             /* [out] */ int *DVFormat,
  18746.             /* [out] */ int *Resolution,
  18747.             /* [in] */ BYTE fDVInfo,
  18748.             /* [out] */ DVINFO *sDVInfo) = 0;
  18749.         
  18750.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  18751.             /* [in] */ int VideoFormat,
  18752.             /* [in] */ int DVFormat,
  18753.             /* [in] */ int Resolution,
  18754.             /* [in] */ BYTE fDVInfo,
  18755.             /* [in] */ DVINFO *sDVInfo) = 0;
  18756.         
  18757.     };
  18758.     
  18759. #else     /* C style interface */
  18760.  
  18761.     typedef struct IDVEncVtbl
  18762.     {
  18763.         BEGIN_INTERFACE
  18764.         
  18765.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18766.             IDVEnc * This,
  18767.             /* [in] */ REFIID riid,
  18768.             /* [iid_is][out] */ void **ppvObject);
  18769.         
  18770.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18771.             IDVEnc * This);
  18772.         
  18773.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18774.             IDVEnc * This);
  18775.         
  18776.         HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )( 
  18777.             IDVEnc * This,
  18778.             /* [out] */ int *VideoFormat,
  18779.             /* [out] */ int *DVFormat,
  18780.             /* [out] */ int *Resolution,
  18781.             /* [in] */ BYTE fDVInfo,
  18782.             /* [out] */ DVINFO *sDVInfo);
  18783.         
  18784.         HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )( 
  18785.             IDVEnc * This,
  18786.             /* [in] */ int VideoFormat,
  18787.             /* [in] */ int DVFormat,
  18788.             /* [in] */ int Resolution,
  18789.             /* [in] */ BYTE fDVInfo,
  18790.             /* [in] */ DVINFO *sDVInfo);
  18791.         
  18792.         END_INTERFACE
  18793.     } IDVEncVtbl;
  18794.  
  18795.     interface IDVEnc
  18796.     {
  18797.         CONST_VTBL struct IDVEncVtbl *lpVtbl;
  18798.     };
  18799.  
  18800.     
  18801.  
  18802. #ifdef COBJMACROS
  18803.  
  18804.  
  18805. #define IDVEnc_QueryInterface(This,riid,ppvObject)    \
  18806.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18807.  
  18808. #define IDVEnc_AddRef(This)    \
  18809.     (This)->lpVtbl -> AddRef(This)
  18810.  
  18811. #define IDVEnc_Release(This)    \
  18812.     (This)->lpVtbl -> Release(This)
  18813.  
  18814.  
  18815. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18816.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18817.  
  18818. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)    \
  18819.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  18820.  
  18821. #endif /* COBJMACROS */
  18822.  
  18823.  
  18824. #endif     /* C style interface */
  18825.  
  18826.  
  18827.  
  18828. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  18829.     IDVEnc * This,
  18830.     /* [out] */ int *VideoFormat,
  18831.     /* [out] */ int *DVFormat,
  18832.     /* [out] */ int *Resolution,
  18833.     /* [in] */ BYTE fDVInfo,
  18834.     /* [out] */ DVINFO *sDVInfo);
  18835.  
  18836.  
  18837. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  18838.     IRpcStubBuffer *This,
  18839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18840.     PRPC_MESSAGE _pRpcMessage,
  18841.     DWORD *_pdwStubPhase);
  18842.  
  18843.  
  18844. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  18845.     IDVEnc * This,
  18846.     /* [in] */ int VideoFormat,
  18847.     /* [in] */ int DVFormat,
  18848.     /* [in] */ int Resolution,
  18849.     /* [in] */ BYTE fDVInfo,
  18850.     /* [in] */ DVINFO *sDVInfo);
  18851.  
  18852.  
  18853. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  18854.     IRpcStubBuffer *This,
  18855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18856.     PRPC_MESSAGE _pRpcMessage,
  18857.     DWORD *_pdwStubPhase);
  18858.  
  18859.  
  18860.  
  18861. #endif     /* __IDVEnc_INTERFACE_DEFINED__ */
  18862.  
  18863.  
  18864. /* interface __MIDL_itf_strmif_0346 */
  18865. /* [local] */ 
  18866.  
  18867.  
  18868. enum _DVDECODERRESOLUTION
  18869.     {    DVDECODERRESOLUTION_720x480    = 1000,
  18870.     DVDECODERRESOLUTION_360x240    = 1001,
  18871.     DVDECODERRESOLUTION_180x120    = 1002,
  18872.     DVDECODERRESOLUTION_88x60    = 1003
  18873.     } ;
  18874.  
  18875. enum _DVRESOLUTION
  18876.     {    DVRESOLUTION_FULL    = 1000,
  18877.     DVRESOLUTION_HALF    = 1001,
  18878.     DVRESOLUTION_QUARTER    = 1002,
  18879.     DVRESOLUTION_DC    = 1003
  18880.     } ;
  18881.  
  18882.  
  18883. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_c_ifspec;
  18884. extern RPC_IF_HANDLE __MIDL_itf_strmif_0346_v0_0_s_ifspec;
  18885.  
  18886. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  18887. #define __IIPDVDec_INTERFACE_DEFINED__
  18888.  
  18889. /* interface IIPDVDec */
  18890. /* [unique][uuid][object] */ 
  18891.  
  18892.  
  18893. EXTERN_C const IID IID_IIPDVDec;
  18894.  
  18895. #if defined(__cplusplus) && !defined(CINTERFACE)
  18896.     
  18897.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  18898.     IIPDVDec : public IUnknown
  18899.     {
  18900.     public:
  18901.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  18902.             /* [out] */ int *displayPix) = 0;
  18903.         
  18904.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  18905.             /* [in] */ int displayPix) = 0;
  18906.         
  18907.     };
  18908.     
  18909. #else     /* C style interface */
  18910.  
  18911.     typedef struct IIPDVDecVtbl
  18912.     {
  18913.         BEGIN_INTERFACE
  18914.         
  18915.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  18916.             IIPDVDec * This,
  18917.             /* [in] */ REFIID riid,
  18918.             /* [iid_is][out] */ void **ppvObject);
  18919.         
  18920.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  18921.             IIPDVDec * This);
  18922.         
  18923.         ULONG ( STDMETHODCALLTYPE *Release )( 
  18924.             IIPDVDec * This);
  18925.         
  18926.         HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )( 
  18927.             IIPDVDec * This,
  18928.             /* [out] */ int *displayPix);
  18929.         
  18930.         HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )( 
  18931.             IIPDVDec * This,
  18932.             /* [in] */ int displayPix);
  18933.         
  18934.         END_INTERFACE
  18935.     } IIPDVDecVtbl;
  18936.  
  18937.     interface IIPDVDec
  18938.     {
  18939.         CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  18940.     };
  18941.  
  18942.     
  18943.  
  18944. #ifdef COBJMACROS
  18945.  
  18946.  
  18947. #define IIPDVDec_QueryInterface(This,riid,ppvObject)    \
  18948.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  18949.  
  18950. #define IIPDVDec_AddRef(This)    \
  18951.     (This)->lpVtbl -> AddRef(This)
  18952.  
  18953. #define IIPDVDec_Release(This)    \
  18954.     (This)->lpVtbl -> Release(This)
  18955.  
  18956.  
  18957. #define IIPDVDec_get_IPDisplay(This,displayPix)    \
  18958.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  18959.  
  18960. #define IIPDVDec_put_IPDisplay(This,displayPix)    \
  18961.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  18962.  
  18963. #endif /* COBJMACROS */
  18964.  
  18965.  
  18966. #endif     /* C style interface */
  18967.  
  18968.  
  18969.  
  18970. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  18971.     IIPDVDec * This,
  18972.     /* [out] */ int *displayPix);
  18973.  
  18974.  
  18975. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  18976.     IRpcStubBuffer *This,
  18977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18978.     PRPC_MESSAGE _pRpcMessage,
  18979.     DWORD *_pdwStubPhase);
  18980.  
  18981.  
  18982. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  18983.     IIPDVDec * This,
  18984.     /* [in] */ int displayPix);
  18985.  
  18986.  
  18987. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  18988.     IRpcStubBuffer *This,
  18989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  18990.     PRPC_MESSAGE _pRpcMessage,
  18991.     DWORD *_pdwStubPhase);
  18992.  
  18993.  
  18994.  
  18995. #endif     /* __IIPDVDec_INTERFACE_DEFINED__ */
  18996.  
  18997.  
  18998. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  18999. #define __IDVRGB219_INTERFACE_DEFINED__
  19000.  
  19001. /* interface IDVRGB219 */
  19002. /* [unique][uuid][object] */ 
  19003.  
  19004.  
  19005. EXTERN_C const IID IID_IDVRGB219;
  19006.  
  19007. #if defined(__cplusplus) && !defined(CINTERFACE)
  19008.     
  19009.     MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  19010.     IDVRGB219 : public IUnknown
  19011.     {
  19012.     public:
  19013.         virtual HRESULT STDMETHODCALLTYPE SetRGB219( 
  19014.             /* [in] */ BOOL bState) = 0;
  19015.         
  19016.     };
  19017.     
  19018. #else     /* C style interface */
  19019.  
  19020.     typedef struct IDVRGB219Vtbl
  19021.     {
  19022.         BEGIN_INTERFACE
  19023.         
  19024.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19025.             IDVRGB219 * This,
  19026.             /* [in] */ REFIID riid,
  19027.             /* [iid_is][out] */ void **ppvObject);
  19028.         
  19029.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19030.             IDVRGB219 * This);
  19031.         
  19032.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19033.             IDVRGB219 * This);
  19034.         
  19035.         HRESULT ( STDMETHODCALLTYPE *SetRGB219 )( 
  19036.             IDVRGB219 * This,
  19037.             /* [in] */ BOOL bState);
  19038.         
  19039.         END_INTERFACE
  19040.     } IDVRGB219Vtbl;
  19041.  
  19042.     interface IDVRGB219
  19043.     {
  19044.         CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  19045.     };
  19046.  
  19047.     
  19048.  
  19049. #ifdef COBJMACROS
  19050.  
  19051.  
  19052. #define IDVRGB219_QueryInterface(This,riid,ppvObject)    \
  19053.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19054.  
  19055. #define IDVRGB219_AddRef(This)    \
  19056.     (This)->lpVtbl -> AddRef(This)
  19057.  
  19058. #define IDVRGB219_Release(This)    \
  19059.     (This)->lpVtbl -> Release(This)
  19060.  
  19061.  
  19062. #define IDVRGB219_SetRGB219(This,bState)    \
  19063.     (This)->lpVtbl -> SetRGB219(This,bState)
  19064.  
  19065. #endif /* COBJMACROS */
  19066.  
  19067.  
  19068. #endif     /* C style interface */
  19069.  
  19070.  
  19071.  
  19072. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy( 
  19073.     IDVRGB219 * This,
  19074.     /* [in] */ BOOL bState);
  19075.  
  19076.  
  19077. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  19078.     IRpcStubBuffer *This,
  19079.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19080.     PRPC_MESSAGE _pRpcMessage,
  19081.     DWORD *_pdwStubPhase);
  19082.  
  19083.  
  19084.  
  19085. #endif     /* __IDVRGB219_INTERFACE_DEFINED__ */
  19086.  
  19087.  
  19088. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  19089. #define __IDVSplitter_INTERFACE_DEFINED__
  19090.  
  19091. /* interface IDVSplitter */
  19092. /* [uuid][object] */ 
  19093.  
  19094.  
  19095. EXTERN_C const IID IID_IDVSplitter;
  19096.  
  19097. #if defined(__cplusplus) && !defined(CINTERFACE)
  19098.     
  19099.     MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  19100.     IDVSplitter : public IUnknown
  19101.     {
  19102.     public:
  19103.         virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames( 
  19104.             /* [in] */ int nDiscard) = 0;
  19105.         
  19106.     };
  19107.     
  19108. #else     /* C style interface */
  19109.  
  19110.     typedef struct IDVSplitterVtbl
  19111.     {
  19112.         BEGIN_INTERFACE
  19113.         
  19114.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19115.             IDVSplitter * This,
  19116.             /* [in] */ REFIID riid,
  19117.             /* [iid_is][out] */ void **ppvObject);
  19118.         
  19119.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19120.             IDVSplitter * This);
  19121.         
  19122.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19123.             IDVSplitter * This);
  19124.         
  19125.         HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )( 
  19126.             IDVSplitter * This,
  19127.             /* [in] */ int nDiscard);
  19128.         
  19129.         END_INTERFACE
  19130.     } IDVSplitterVtbl;
  19131.  
  19132.     interface IDVSplitter
  19133.     {
  19134.         CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  19135.     };
  19136.  
  19137.     
  19138.  
  19139. #ifdef COBJMACROS
  19140.  
  19141.  
  19142. #define IDVSplitter_QueryInterface(This,riid,ppvObject)    \
  19143.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19144.  
  19145. #define IDVSplitter_AddRef(This)    \
  19146.     (This)->lpVtbl -> AddRef(This)
  19147.  
  19148. #define IDVSplitter_Release(This)    \
  19149.     (This)->lpVtbl -> Release(This)
  19150.  
  19151.  
  19152. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)    \
  19153.     (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  19154.  
  19155. #endif /* COBJMACROS */
  19156.  
  19157.  
  19158. #endif     /* C style interface */
  19159.  
  19160.  
  19161.  
  19162. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy( 
  19163.     IDVSplitter * This,
  19164.     /* [in] */ int nDiscard);
  19165.  
  19166.  
  19167. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  19168.     IRpcStubBuffer *This,
  19169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19170.     PRPC_MESSAGE _pRpcMessage,
  19171.     DWORD *_pdwStubPhase);
  19172.  
  19173.  
  19174.  
  19175. #endif     /* __IDVSplitter_INTERFACE_DEFINED__ */
  19176.  
  19177.  
  19178. /* interface __MIDL_itf_strmif_0349 */
  19179. /* [local] */ 
  19180.  
  19181.  
  19182. enum _AM_AUDIO_RENDERER_STAT_PARAM
  19183.     {    AM_AUDREND_STAT_PARAM_BREAK_COUNT    = 1,
  19184.     AM_AUDREND_STAT_PARAM_SLAVE_MODE    = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  19185.     AM_AUDREND_STAT_PARAM_SILENCE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  19186.     AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR    = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  19187.     AM_AUDREND_STAT_PARAM_DISCONTINUITIES    = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  19188.     AM_AUDREND_STAT_PARAM_SLAVE_RATE    = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  19189.     AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR    = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  19190.     AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  19191.     AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR    = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  19192.     AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR    = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  19193.     AM_AUDREND_STAT_PARAM_BUFFERFULLNESS    = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  19194.     AM_AUDREND_STAT_PARAM_JITTER    = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  19195.     } ;
  19196.  
  19197.  
  19198. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_c_ifspec;
  19199. extern RPC_IF_HANDLE __MIDL_itf_strmif_0349_v0_0_s_ifspec;
  19200.  
  19201. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  19202. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  19203.  
  19204. /* interface IAMAudioRendererStats */
  19205. /* [unique][uuid][object] */ 
  19206.  
  19207.  
  19208. EXTERN_C const IID IID_IAMAudioRendererStats;
  19209.  
  19210. #if defined(__cplusplus) && !defined(CINTERFACE)
  19211.     
  19212.     MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  19213.     IAMAudioRendererStats : public IUnknown
  19214.     {
  19215.     public:
  19216.         virtual HRESULT STDMETHODCALLTYPE GetStatParam( 
  19217.             /* [in] */ DWORD dwParam,
  19218.             /* [out] */ DWORD *pdwParam1,
  19219.             /* [out] */ DWORD *pdwParam2) = 0;
  19220.         
  19221.     };
  19222.     
  19223. #else     /* C style interface */
  19224.  
  19225.     typedef struct IAMAudioRendererStatsVtbl
  19226.     {
  19227.         BEGIN_INTERFACE
  19228.         
  19229.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19230.             IAMAudioRendererStats * This,
  19231.             /* [in] */ REFIID riid,
  19232.             /* [iid_is][out] */ void **ppvObject);
  19233.         
  19234.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19235.             IAMAudioRendererStats * This);
  19236.         
  19237.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19238.             IAMAudioRendererStats * This);
  19239.         
  19240.         HRESULT ( STDMETHODCALLTYPE *GetStatParam )( 
  19241.             IAMAudioRendererStats * This,
  19242.             /* [in] */ DWORD dwParam,
  19243.             /* [out] */ DWORD *pdwParam1,
  19244.             /* [out] */ DWORD *pdwParam2);
  19245.         
  19246.         END_INTERFACE
  19247.     } IAMAudioRendererStatsVtbl;
  19248.  
  19249.     interface IAMAudioRendererStats
  19250.     {
  19251.         CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  19252.     };
  19253.  
  19254.     
  19255.  
  19256. #ifdef COBJMACROS
  19257.  
  19258.  
  19259. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)    \
  19260.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19261.  
  19262. #define IAMAudioRendererStats_AddRef(This)    \
  19263.     (This)->lpVtbl -> AddRef(This)
  19264.  
  19265. #define IAMAudioRendererStats_Release(This)    \
  19266.     (This)->lpVtbl -> Release(This)
  19267.  
  19268.  
  19269. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)    \
  19270.     (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  19271.  
  19272. #endif /* COBJMACROS */
  19273.  
  19274.  
  19275. #endif     /* C style interface */
  19276.  
  19277.  
  19278.  
  19279. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy( 
  19280.     IAMAudioRendererStats * This,
  19281.     /* [in] */ DWORD dwParam,
  19282.     /* [out] */ DWORD *pdwParam1,
  19283.     /* [out] */ DWORD *pdwParam2);
  19284.  
  19285.  
  19286. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  19287.     IRpcStubBuffer *This,
  19288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19289.     PRPC_MESSAGE _pRpcMessage,
  19290.     DWORD *_pdwStubPhase);
  19291.  
  19292.  
  19293.  
  19294. #endif     /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  19295.  
  19296.  
  19297. /* interface __MIDL_itf_strmif_0351 */
  19298. /* [local] */ 
  19299.  
  19300.  
  19301. enum _AM_INTF_SEARCH_FLAGS
  19302.     {    AM_INTF_SEARCH_INPUT_PIN    = 0x1,
  19303.     AM_INTF_SEARCH_OUTPUT_PIN    = 0x2,
  19304.     AM_INTF_SEARCH_FILTER    = 0x4
  19305.     } ;
  19306.  
  19307.  
  19308. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
  19309. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
  19310.  
  19311. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  19312. #define __IAMGraphStreams_INTERFACE_DEFINED__
  19313.  
  19314. /* interface IAMGraphStreams */
  19315. /* [unique][uuid][object] */ 
  19316.  
  19317.  
  19318. EXTERN_C const IID IID_IAMGraphStreams;
  19319.  
  19320. #if defined(__cplusplus) && !defined(CINTERFACE)
  19321.     
  19322.     MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  19323.     IAMGraphStreams : public IUnknown
  19324.     {
  19325.     public:
  19326.         virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface( 
  19327.             /* [in] */ IPin *pPin,
  19328.             /* [in] */ REFIID riid,
  19329.             /* [iid_is][out] */ void **ppvInterface,
  19330.             /* [in] */ DWORD dwFlags) = 0;
  19331.         
  19332.         virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset( 
  19333.             /* [in] */ BOOL bUseStreamOffset) = 0;
  19334.         
  19335.         virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency( 
  19336.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  19337.         
  19338.     };
  19339.     
  19340. #else     /* C style interface */
  19341.  
  19342.     typedef struct IAMGraphStreamsVtbl
  19343.     {
  19344.         BEGIN_INTERFACE
  19345.         
  19346.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19347.             IAMGraphStreams * This,
  19348.             /* [in] */ REFIID riid,
  19349.             /* [iid_is][out] */ void **ppvObject);
  19350.         
  19351.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19352.             IAMGraphStreams * This);
  19353.         
  19354.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19355.             IAMGraphStreams * This);
  19356.         
  19357.         HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )( 
  19358.             IAMGraphStreams * This,
  19359.             /* [in] */ IPin *pPin,
  19360.             /* [in] */ REFIID riid,
  19361.             /* [iid_is][out] */ void **ppvInterface,
  19362.             /* [in] */ DWORD dwFlags);
  19363.         
  19364.         HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )( 
  19365.             IAMGraphStreams * This,
  19366.             /* [in] */ BOOL bUseStreamOffset);
  19367.         
  19368.         HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )( 
  19369.             IAMGraphStreams * This,
  19370.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19371.         
  19372.         END_INTERFACE
  19373.     } IAMGraphStreamsVtbl;
  19374.  
  19375.     interface IAMGraphStreams
  19376.     {
  19377.         CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  19378.     };
  19379.  
  19380.     
  19381.  
  19382. #ifdef COBJMACROS
  19383.  
  19384.  
  19385. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject)    \
  19386.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19387.  
  19388. #define IAMGraphStreams_AddRef(This)    \
  19389.     (This)->lpVtbl -> AddRef(This)
  19390.  
  19391. #define IAMGraphStreams_Release(This)    \
  19392.     (This)->lpVtbl -> Release(This)
  19393.  
  19394.  
  19395. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)    \
  19396.     (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  19397.  
  19398. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)    \
  19399.     (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  19400.  
  19401. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)    \
  19402.     (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  19403.  
  19404. #endif /* COBJMACROS */
  19405.  
  19406.  
  19407. #endif     /* C style interface */
  19408.  
  19409.  
  19410.  
  19411. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy( 
  19412.     IAMGraphStreams * This,
  19413.     /* [in] */ IPin *pPin,
  19414.     /* [in] */ REFIID riid,
  19415.     /* [iid_is][out] */ void **ppvInterface,
  19416.     /* [in] */ DWORD dwFlags);
  19417.  
  19418.  
  19419. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  19420.     IRpcStubBuffer *This,
  19421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19422.     PRPC_MESSAGE _pRpcMessage,
  19423.     DWORD *_pdwStubPhase);
  19424.  
  19425.  
  19426. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy( 
  19427.     IAMGraphStreams * This,
  19428.     /* [in] */ BOOL bUseStreamOffset);
  19429.  
  19430.  
  19431. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  19432.     IRpcStubBuffer *This,
  19433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19434.     PRPC_MESSAGE _pRpcMessage,
  19435.     DWORD *_pdwStubPhase);
  19436.  
  19437.  
  19438. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy( 
  19439.     IAMGraphStreams * This,
  19440.     /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  19441.  
  19442.  
  19443. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  19444.     IRpcStubBuffer *This,
  19445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19446.     PRPC_MESSAGE _pRpcMessage,
  19447.     DWORD *_pdwStubPhase);
  19448.  
  19449.  
  19450.  
  19451. #endif     /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  19452.  
  19453.  
  19454. /* interface __MIDL_itf_strmif_0352 */
  19455. /* [local] */ 
  19456.  
  19457.  
  19458. enum AMOVERLAYFX
  19459.     {    AMOVERFX_NOFX    = 0,
  19460.     AMOVERFX_MIRRORLEFTRIGHT    = 0x2,
  19461.     AMOVERFX_MIRRORUPDOWN    = 0x4,
  19462.     AMOVERFX_DEINTERLACE    = 0x8
  19463.     } ;
  19464.  
  19465.  
  19466. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_c_ifspec;
  19467. extern RPC_IF_HANDLE __MIDL_itf_strmif_0352_v0_0_s_ifspec;
  19468.  
  19469. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  19470. #define __IAMOverlayFX_INTERFACE_DEFINED__
  19471.  
  19472. /* interface IAMOverlayFX */
  19473. /* [unique][uuid][object] */ 
  19474.  
  19475.  
  19476. EXTERN_C const IID IID_IAMOverlayFX;
  19477.  
  19478. #if defined(__cplusplus) && !defined(CINTERFACE)
  19479.     
  19480.     MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  19481.     IAMOverlayFX : public IUnknown
  19482.     {
  19483.     public:
  19484.         virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps( 
  19485.             /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  19486.         
  19487.         virtual HRESULT STDMETHODCALLTYPE SetOverlayFX( 
  19488.             /* [in] */ DWORD dwOverlayFX) = 0;
  19489.         
  19490.         virtual HRESULT STDMETHODCALLTYPE GetOverlayFX( 
  19491.             /* [out] */ DWORD *lpdwOverlayFX) = 0;
  19492.         
  19493.     };
  19494.     
  19495. #else     /* C style interface */
  19496.  
  19497.     typedef struct IAMOverlayFXVtbl
  19498.     {
  19499.         BEGIN_INTERFACE
  19500.         
  19501.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19502.             IAMOverlayFX * This,
  19503.             /* [in] */ REFIID riid,
  19504.             /* [iid_is][out] */ void **ppvObject);
  19505.         
  19506.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19507.             IAMOverlayFX * This);
  19508.         
  19509.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19510.             IAMOverlayFX * This);
  19511.         
  19512.         HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )( 
  19513.             IAMOverlayFX * This,
  19514.             /* [out] */ DWORD *lpdwOverlayFXCaps);
  19515.         
  19516.         HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )( 
  19517.             IAMOverlayFX * This,
  19518.             /* [in] */ DWORD dwOverlayFX);
  19519.         
  19520.         HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )( 
  19521.             IAMOverlayFX * This,
  19522.             /* [out] */ DWORD *lpdwOverlayFX);
  19523.         
  19524.         END_INTERFACE
  19525.     } IAMOverlayFXVtbl;
  19526.  
  19527.     interface IAMOverlayFX
  19528.     {
  19529.         CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  19530.     };
  19531.  
  19532.     
  19533.  
  19534. #ifdef COBJMACROS
  19535.  
  19536.  
  19537. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject)    \
  19538.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19539.  
  19540. #define IAMOverlayFX_AddRef(This)    \
  19541.     (This)->lpVtbl -> AddRef(This)
  19542.  
  19543. #define IAMOverlayFX_Release(This)    \
  19544.     (This)->lpVtbl -> Release(This)
  19545.  
  19546.  
  19547. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)    \
  19548.     (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  19549.  
  19550. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)    \
  19551.     (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  19552.  
  19553. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)    \
  19554.     (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  19555.  
  19556. #endif /* COBJMACROS */
  19557.  
  19558.  
  19559. #endif     /* C style interface */
  19560.  
  19561.  
  19562.  
  19563. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy( 
  19564.     IAMOverlayFX * This,
  19565.     /* [out] */ DWORD *lpdwOverlayFXCaps);
  19566.  
  19567.  
  19568. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  19569.     IRpcStubBuffer *This,
  19570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19571.     PRPC_MESSAGE _pRpcMessage,
  19572.     DWORD *_pdwStubPhase);
  19573.  
  19574.  
  19575. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy( 
  19576.     IAMOverlayFX * This,
  19577.     /* [in] */ DWORD dwOverlayFX);
  19578.  
  19579.  
  19580. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  19581.     IRpcStubBuffer *This,
  19582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19583.     PRPC_MESSAGE _pRpcMessage,
  19584.     DWORD *_pdwStubPhase);
  19585.  
  19586.  
  19587. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy( 
  19588.     IAMOverlayFX * This,
  19589.     /* [out] */ DWORD *lpdwOverlayFX);
  19590.  
  19591.  
  19592. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  19593.     IRpcStubBuffer *This,
  19594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19595.     PRPC_MESSAGE _pRpcMessage,
  19596.     DWORD *_pdwStubPhase);
  19597.  
  19598.  
  19599.  
  19600. #endif     /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  19601.  
  19602.  
  19603. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  19604. #define __IAMOpenProgress_INTERFACE_DEFINED__
  19605.  
  19606. /* interface IAMOpenProgress */
  19607. /* [unique][uuid][object] */ 
  19608.  
  19609.  
  19610. EXTERN_C const IID IID_IAMOpenProgress;
  19611.  
  19612. #if defined(__cplusplus) && !defined(CINTERFACE)
  19613.     
  19614.     MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  19615.     IAMOpenProgress : public IUnknown
  19616.     {
  19617.     public:
  19618.         virtual HRESULT STDMETHODCALLTYPE QueryProgress( 
  19619.             /* [out] */ LONGLONG *pllTotal,
  19620.             /* [out] */ LONGLONG *pllCurrent) = 0;
  19621.         
  19622.         virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  19623.         
  19624.     };
  19625.     
  19626. #else     /* C style interface */
  19627.  
  19628.     typedef struct IAMOpenProgressVtbl
  19629.     {
  19630.         BEGIN_INTERFACE
  19631.         
  19632.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19633.             IAMOpenProgress * This,
  19634.             /* [in] */ REFIID riid,
  19635.             /* [iid_is][out] */ void **ppvObject);
  19636.         
  19637.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19638.             IAMOpenProgress * This);
  19639.         
  19640.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19641.             IAMOpenProgress * This);
  19642.         
  19643.         HRESULT ( STDMETHODCALLTYPE *QueryProgress )( 
  19644.             IAMOpenProgress * This,
  19645.             /* [out] */ LONGLONG *pllTotal,
  19646.             /* [out] */ LONGLONG *pllCurrent);
  19647.         
  19648.         HRESULT ( STDMETHODCALLTYPE *AbortOperation )( 
  19649.             IAMOpenProgress * This);
  19650.         
  19651.         END_INTERFACE
  19652.     } IAMOpenProgressVtbl;
  19653.  
  19654.     interface IAMOpenProgress
  19655.     {
  19656.         CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  19657.     };
  19658.  
  19659.     
  19660.  
  19661. #ifdef COBJMACROS
  19662.  
  19663.  
  19664. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject)    \
  19665.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19666.  
  19667. #define IAMOpenProgress_AddRef(This)    \
  19668.     (This)->lpVtbl -> AddRef(This)
  19669.  
  19670. #define IAMOpenProgress_Release(This)    \
  19671.     (This)->lpVtbl -> Release(This)
  19672.  
  19673.  
  19674. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)    \
  19675.     (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  19676.  
  19677. #define IAMOpenProgress_AbortOperation(This)    \
  19678.     (This)->lpVtbl -> AbortOperation(This)
  19679.  
  19680. #endif /* COBJMACROS */
  19681.  
  19682.  
  19683. #endif     /* C style interface */
  19684.  
  19685.  
  19686.  
  19687. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy( 
  19688.     IAMOpenProgress * This,
  19689.     /* [out] */ LONGLONG *pllTotal,
  19690.     /* [out] */ LONGLONG *pllCurrent);
  19691.  
  19692.  
  19693. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  19694.     IRpcStubBuffer *This,
  19695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19696.     PRPC_MESSAGE _pRpcMessage,
  19697.     DWORD *_pdwStubPhase);
  19698.  
  19699.  
  19700. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy( 
  19701.     IAMOpenProgress * This);
  19702.  
  19703.  
  19704. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  19705.     IRpcStubBuffer *This,
  19706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19707.     PRPC_MESSAGE _pRpcMessage,
  19708.     DWORD *_pdwStubPhase);
  19709.  
  19710.  
  19711.  
  19712. #endif     /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  19713.  
  19714.  
  19715. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19716. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  19717.  
  19718. /* interface IMpeg2Demultiplexer */
  19719. /* [unique][uuid][local][object] */ 
  19720.  
  19721.  
  19722. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  19723.  
  19724. #if defined(__cplusplus) && !defined(CINTERFACE)
  19725.     
  19726.     MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  19727.     IMpeg2Demultiplexer : public IUnknown
  19728.     {
  19729.     public:
  19730.         virtual HRESULT STDMETHODCALLTYPE CreateOutputPin( 
  19731.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19732.             /* [in] */ LPWSTR pszPinName,
  19733.             /* [out] */ IPin **ppIPin) = 0;
  19734.         
  19735.         virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType( 
  19736.             /* [in] */ LPWSTR pszPinName,
  19737.             /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  19738.         
  19739.         virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin( 
  19740.             /* [in] */ LPWSTR pszPinName) = 0;
  19741.         
  19742.     };
  19743.     
  19744. #else     /* C style interface */
  19745.  
  19746.     typedef struct IMpeg2DemultiplexerVtbl
  19747.     {
  19748.         BEGIN_INTERFACE
  19749.         
  19750.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19751.             IMpeg2Demultiplexer * This,
  19752.             /* [in] */ REFIID riid,
  19753.             /* [iid_is][out] */ void **ppvObject);
  19754.         
  19755.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19756.             IMpeg2Demultiplexer * This);
  19757.         
  19758.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19759.             IMpeg2Demultiplexer * This);
  19760.         
  19761.         HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )( 
  19762.             IMpeg2Demultiplexer * This,
  19763.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19764.             /* [in] */ LPWSTR pszPinName,
  19765.             /* [out] */ IPin **ppIPin);
  19766.         
  19767.         HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )( 
  19768.             IMpeg2Demultiplexer * This,
  19769.             /* [in] */ LPWSTR pszPinName,
  19770.             /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19771.         
  19772.         HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )( 
  19773.             IMpeg2Demultiplexer * This,
  19774.             /* [in] */ LPWSTR pszPinName);
  19775.         
  19776.         END_INTERFACE
  19777.     } IMpeg2DemultiplexerVtbl;
  19778.  
  19779.     interface IMpeg2Demultiplexer
  19780.     {
  19781.         CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  19782.     };
  19783.  
  19784.     
  19785.  
  19786. #ifdef COBJMACROS
  19787.  
  19788.  
  19789. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)    \
  19790.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19791.  
  19792. #define IMpeg2Demultiplexer_AddRef(This)    \
  19793.     (This)->lpVtbl -> AddRef(This)
  19794.  
  19795. #define IMpeg2Demultiplexer_Release(This)    \
  19796.     (This)->lpVtbl -> Release(This)
  19797.  
  19798.  
  19799. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)    \
  19800.     (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  19801.  
  19802. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)    \
  19803.     (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  19804.  
  19805. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)    \
  19806.     (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  19807.  
  19808. #endif /* COBJMACROS */
  19809.  
  19810.  
  19811. #endif     /* C style interface */
  19812.  
  19813.  
  19814.  
  19815. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy( 
  19816.     IMpeg2Demultiplexer * This,
  19817.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  19818.     /* [in] */ LPWSTR pszPinName,
  19819.     /* [out] */ IPin **ppIPin);
  19820.  
  19821.  
  19822. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  19823.     IRpcStubBuffer *This,
  19824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19825.     PRPC_MESSAGE _pRpcMessage,
  19826.     DWORD *_pdwStubPhase);
  19827.  
  19828.  
  19829. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy( 
  19830.     IMpeg2Demultiplexer * This,
  19831.     /* [in] */ LPWSTR pszPinName,
  19832.     /* [in] */ AM_MEDIA_TYPE *pMediaType);
  19833.  
  19834.  
  19835. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  19836.     IRpcStubBuffer *This,
  19837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19838.     PRPC_MESSAGE _pRpcMessage,
  19839.     DWORD *_pdwStubPhase);
  19840.  
  19841.  
  19842. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy( 
  19843.     IMpeg2Demultiplexer * This,
  19844.     /* [in] */ LPWSTR pszPinName);
  19845.  
  19846.  
  19847. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  19848.     IRpcStubBuffer *This,
  19849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19850.     PRPC_MESSAGE _pRpcMessage,
  19851.     DWORD *_pdwStubPhase);
  19852.  
  19853.  
  19854.  
  19855. #endif     /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  19856.  
  19857.  
  19858. /* interface __MIDL_itf_strmif_0355 */
  19859. /* [local] */ 
  19860.  
  19861. #define MPEG2_PROGRAM_STREAM_MAP                 0x00000000
  19862. #define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001
  19863. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002
  19864. #define MPEG2_PROGRAM_PACK_HEADER                0x00000003
  19865. #define MPEG2_PROGRAM_PES_STREAM                 0x00000004
  19866. #define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005
  19867. #define SUBSTREAM_FILTER_VAL_NONE                0x10000000
  19868. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0355_0001
  19869.     {
  19870.     ULONG stream_id;
  19871.     DWORD dwMediaSampleContent;
  19872.     ULONG ulSubstreamFilterValue;
  19873.     int iDataOffset;
  19874.     }     STREAM_ID_MAP;
  19875.  
  19876.  
  19877.  
  19878. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_c_ifspec;
  19879. extern RPC_IF_HANDLE __MIDL_itf_strmif_0355_v0_0_s_ifspec;
  19880.  
  19881. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  19882. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  19883.  
  19884. /* interface IEnumStreamIdMap */
  19885. /* [unique][uuid][local][object] */ 
  19886.  
  19887.  
  19888. EXTERN_C const IID IID_IEnumStreamIdMap;
  19889.  
  19890. #if defined(__cplusplus) && !defined(CINTERFACE)
  19891.     
  19892.     MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  19893.     IEnumStreamIdMap : public IUnknown
  19894.     {
  19895.     public:
  19896.         virtual HRESULT STDMETHODCALLTYPE Next( 
  19897.             /* [in] */ ULONG cRequest,
  19898.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19899.             /* [out] */ ULONG *pcReceived) = 0;
  19900.         
  19901.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  19902.             /* [in] */ ULONG cRecords) = 0;
  19903.         
  19904.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  19905.         
  19906.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  19907.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  19908.         
  19909.     };
  19910.     
  19911. #else     /* C style interface */
  19912.  
  19913.     typedef struct IEnumStreamIdMapVtbl
  19914.     {
  19915.         BEGIN_INTERFACE
  19916.         
  19917.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  19918.             IEnumStreamIdMap * This,
  19919.             /* [in] */ REFIID riid,
  19920.             /* [iid_is][out] */ void **ppvObject);
  19921.         
  19922.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  19923.             IEnumStreamIdMap * This);
  19924.         
  19925.         ULONG ( STDMETHODCALLTYPE *Release )( 
  19926.             IEnumStreamIdMap * This);
  19927.         
  19928.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  19929.             IEnumStreamIdMap * This,
  19930.             /* [in] */ ULONG cRequest,
  19931.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19932.             /* [out] */ ULONG *pcReceived);
  19933.         
  19934.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  19935.             IEnumStreamIdMap * This,
  19936.             /* [in] */ ULONG cRecords);
  19937.         
  19938.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  19939.             IEnumStreamIdMap * This);
  19940.         
  19941.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  19942.             IEnumStreamIdMap * This,
  19943.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  19944.         
  19945.         END_INTERFACE
  19946.     } IEnumStreamIdMapVtbl;
  19947.  
  19948.     interface IEnumStreamIdMap
  19949.     {
  19950.         CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  19951.     };
  19952.  
  19953.     
  19954.  
  19955. #ifdef COBJMACROS
  19956.  
  19957.  
  19958. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)    \
  19959.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  19960.  
  19961. #define IEnumStreamIdMap_AddRef(This)    \
  19962.     (This)->lpVtbl -> AddRef(This)
  19963.  
  19964. #define IEnumStreamIdMap_Release(This)    \
  19965.     (This)->lpVtbl -> Release(This)
  19966.  
  19967.  
  19968. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)    \
  19969.     (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  19970.  
  19971. #define IEnumStreamIdMap_Skip(This,cRecords)    \
  19972.     (This)->lpVtbl -> Skip(This,cRecords)
  19973.  
  19974. #define IEnumStreamIdMap_Reset(This)    \
  19975.     (This)->lpVtbl -> Reset(This)
  19976.  
  19977. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)    \
  19978.     (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  19979.  
  19980. #endif /* COBJMACROS */
  19981.  
  19982.  
  19983. #endif     /* C style interface */
  19984.  
  19985.  
  19986.  
  19987. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy( 
  19988.     IEnumStreamIdMap * This,
  19989.     /* [in] */ ULONG cRequest,
  19990.     /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  19991.     /* [out] */ ULONG *pcReceived);
  19992.  
  19993.  
  19994. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  19995.     IRpcStubBuffer *This,
  19996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  19997.     PRPC_MESSAGE _pRpcMessage,
  19998.     DWORD *_pdwStubPhase);
  19999.  
  20000.  
  20001. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy( 
  20002.     IEnumStreamIdMap * This,
  20003.     /* [in] */ ULONG cRecords);
  20004.  
  20005.  
  20006. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  20007.     IRpcStubBuffer *This,
  20008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20009.     PRPC_MESSAGE _pRpcMessage,
  20010.     DWORD *_pdwStubPhase);
  20011.  
  20012.  
  20013. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy( 
  20014.     IEnumStreamIdMap * This);
  20015.  
  20016.  
  20017. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  20018.     IRpcStubBuffer *This,
  20019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20020.     PRPC_MESSAGE _pRpcMessage,
  20021.     DWORD *_pdwStubPhase);
  20022.  
  20023.  
  20024. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy( 
  20025.     IEnumStreamIdMap * This,
  20026.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20027.  
  20028.  
  20029. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  20030.     IRpcStubBuffer *This,
  20031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20032.     PRPC_MESSAGE _pRpcMessage,
  20033.     DWORD *_pdwStubPhase);
  20034.  
  20035.  
  20036.  
  20037. #endif     /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  20038.  
  20039.  
  20040. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20041. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  20042.  
  20043. /* interface IMPEG2StreamIdMap */
  20044. /* [unique][uuid][local][object] */ 
  20045.  
  20046.  
  20047. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  20048.  
  20049. #if defined(__cplusplus) && !defined(CINTERFACE)
  20050.     
  20051.     MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  20052.     IMPEG2StreamIdMap : public IUnknown
  20053.     {
  20054.     public:
  20055.         virtual HRESULT STDMETHODCALLTYPE MapStreamId( 
  20056.             /* [in] */ ULONG ulStreamId,
  20057.             /* [in] */ DWORD MediaSampleContent,
  20058.             /* [in] */ ULONG ulSubstreamFilterValue,
  20059.             /* [in] */ int iDataOffset) = 0;
  20060.         
  20061.         virtual HRESULT STDMETHODCALLTYPE UnmapStreamId( 
  20062.             /* [in] */ ULONG culStreamId,
  20063.             /* [in] */ ULONG *pulStreamId) = 0;
  20064.         
  20065.         virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap( 
  20066.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  20067.         
  20068.     };
  20069.     
  20070. #else     /* C style interface */
  20071.  
  20072.     typedef struct IMPEG2StreamIdMapVtbl
  20073.     {
  20074.         BEGIN_INTERFACE
  20075.         
  20076.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20077.             IMPEG2StreamIdMap * This,
  20078.             /* [in] */ REFIID riid,
  20079.             /* [iid_is][out] */ void **ppvObject);
  20080.         
  20081.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20082.             IMPEG2StreamIdMap * This);
  20083.         
  20084.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20085.             IMPEG2StreamIdMap * This);
  20086.         
  20087.         HRESULT ( STDMETHODCALLTYPE *MapStreamId )( 
  20088.             IMPEG2StreamIdMap * This,
  20089.             /* [in] */ ULONG ulStreamId,
  20090.             /* [in] */ DWORD MediaSampleContent,
  20091.             /* [in] */ ULONG ulSubstreamFilterValue,
  20092.             /* [in] */ int iDataOffset);
  20093.         
  20094.         HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )( 
  20095.             IMPEG2StreamIdMap * This,
  20096.             /* [in] */ ULONG culStreamId,
  20097.             /* [in] */ ULONG *pulStreamId);
  20098.         
  20099.         HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )( 
  20100.             IMPEG2StreamIdMap * This,
  20101.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20102.         
  20103.         END_INTERFACE
  20104.     } IMPEG2StreamIdMapVtbl;
  20105.  
  20106.     interface IMPEG2StreamIdMap
  20107.     {
  20108.         CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  20109.     };
  20110.  
  20111.     
  20112.  
  20113. #ifdef COBJMACROS
  20114.  
  20115.  
  20116. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)    \
  20117.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20118.  
  20119. #define IMPEG2StreamIdMap_AddRef(This)    \
  20120.     (This)->lpVtbl -> AddRef(This)
  20121.  
  20122. #define IMPEG2StreamIdMap_Release(This)    \
  20123.     (This)->lpVtbl -> Release(This)
  20124.  
  20125.  
  20126. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)    \
  20127.     (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  20128.  
  20129. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)    \
  20130.     (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  20131.  
  20132. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)    \
  20133.     (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  20134.  
  20135. #endif /* COBJMACROS */
  20136.  
  20137.  
  20138. #endif     /* C style interface */
  20139.  
  20140.  
  20141.  
  20142. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy( 
  20143.     IMPEG2StreamIdMap * This,
  20144.     /* [in] */ ULONG ulStreamId,
  20145.     /* [in] */ DWORD MediaSampleContent,
  20146.     /* [in] */ ULONG ulSubstreamFilterValue,
  20147.     /* [in] */ int iDataOffset);
  20148.  
  20149.  
  20150. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  20151.     IRpcStubBuffer *This,
  20152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20153.     PRPC_MESSAGE _pRpcMessage,
  20154.     DWORD *_pdwStubPhase);
  20155.  
  20156.  
  20157. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy( 
  20158.     IMPEG2StreamIdMap * This,
  20159.     /* [in] */ ULONG culStreamId,
  20160.     /* [in] */ ULONG *pulStreamId);
  20161.  
  20162.  
  20163. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  20164.     IRpcStubBuffer *This,
  20165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20166.     PRPC_MESSAGE _pRpcMessage,
  20167.     DWORD *_pdwStubPhase);
  20168.  
  20169.  
  20170. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy( 
  20171.     IMPEG2StreamIdMap * This,
  20172.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  20173.  
  20174.  
  20175. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  20176.     IRpcStubBuffer *This,
  20177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20178.     PRPC_MESSAGE _pRpcMessage,
  20179.     DWORD *_pdwStubPhase);
  20180.  
  20181.  
  20182.  
  20183. #endif     /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  20184.  
  20185.  
  20186. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  20187. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  20188.  
  20189. /* interface IRegisterServiceProvider */
  20190. /* [unique][uuid][local][object] */ 
  20191.  
  20192.  
  20193. EXTERN_C const IID IID_IRegisterServiceProvider;
  20194.  
  20195. #if defined(__cplusplus) && !defined(CINTERFACE)
  20196.     
  20197.     MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  20198.     IRegisterServiceProvider : public IUnknown
  20199.     {
  20200.     public:
  20201.         virtual HRESULT STDMETHODCALLTYPE RegisterService( 
  20202.             /* [in] */ REFGUID guidService,
  20203.             /* [in] */ IUnknown *pUnkObject) = 0;
  20204.         
  20205.     };
  20206.     
  20207. #else     /* C style interface */
  20208.  
  20209.     typedef struct IRegisterServiceProviderVtbl
  20210.     {
  20211.         BEGIN_INTERFACE
  20212.         
  20213.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20214.             IRegisterServiceProvider * This,
  20215.             /* [in] */ REFIID riid,
  20216.             /* [iid_is][out] */ void **ppvObject);
  20217.         
  20218.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20219.             IRegisterServiceProvider * This);
  20220.         
  20221.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20222.             IRegisterServiceProvider * This);
  20223.         
  20224.         HRESULT ( STDMETHODCALLTYPE *RegisterService )( 
  20225.             IRegisterServiceProvider * This,
  20226.             /* [in] */ REFGUID guidService,
  20227.             /* [in] */ IUnknown *pUnkObject);
  20228.         
  20229.         END_INTERFACE
  20230.     } IRegisterServiceProviderVtbl;
  20231.  
  20232.     interface IRegisterServiceProvider
  20233.     {
  20234.         CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  20235.     };
  20236.  
  20237.     
  20238.  
  20239. #ifdef COBJMACROS
  20240.  
  20241.  
  20242. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject)    \
  20243.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20244.  
  20245. #define IRegisterServiceProvider_AddRef(This)    \
  20246.     (This)->lpVtbl -> AddRef(This)
  20247.  
  20248. #define IRegisterServiceProvider_Release(This)    \
  20249.     (This)->lpVtbl -> Release(This)
  20250.  
  20251.  
  20252. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject)    \
  20253.     (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  20254.  
  20255. #endif /* COBJMACROS */
  20256.  
  20257.  
  20258. #endif     /* C style interface */
  20259.  
  20260.  
  20261.  
  20262. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy( 
  20263.     IRegisterServiceProvider * This,
  20264.     /* [in] */ REFGUID guidService,
  20265.     /* [in] */ IUnknown *pUnkObject);
  20266.  
  20267.  
  20268. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  20269.     IRpcStubBuffer *This,
  20270.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20271.     PRPC_MESSAGE _pRpcMessage,
  20272.     DWORD *_pdwStubPhase);
  20273.  
  20274.  
  20275.  
  20276. #endif     /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  20277.  
  20278.  
  20279. /* interface __MIDL_itf_strmif_0358 */
  20280. /* [local] */ 
  20281.  
  20282. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT   0x00000001
  20283. #define      VMR_NOTSUPPORTED                0x00000000
  20284. #define      VMR_SUPPORTED                   0x00000001
  20285. #define AM_QUERY_DECODER_VMR_SUPPORT         0x00000001
  20286. #define AM_QUERY_DECODER_DXVA_1_SUPPORT      0x00000002
  20287. #define AM_QUERY_DECODER_DVD_SUPPORT         0x00000003
  20288. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT     0x00000004
  20289. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT     0x00000005
  20290. #define      DECODER_CAP_NOTSUPPORTED        0x00000000
  20291. #define      DECODER_CAP_SUPPORTED           0x00000001
  20292.  
  20293.  
  20294. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_c_ifspec;
  20295. extern RPC_IF_HANDLE __MIDL_itf_strmif_0358_v0_0_s_ifspec;
  20296.  
  20297. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  20298. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  20299.  
  20300. /* interface IAMDecoderCaps */
  20301. /* [unique][uuid][local][object] */ 
  20302.  
  20303.  
  20304. EXTERN_C const IID IID_IAMDecoderCaps;
  20305.  
  20306. #if defined(__cplusplus) && !defined(CINTERFACE)
  20307.     
  20308.     MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  20309.     IAMDecoderCaps : public IUnknown
  20310.     {
  20311.     public:
  20312.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  20313.             /* [in] */ DWORD dwCapIndex,
  20314.             /* [out] */ DWORD *lpdwCap) = 0;
  20315.         
  20316.     };
  20317.     
  20318. #else     /* C style interface */
  20319.  
  20320.     typedef struct IAMDecoderCapsVtbl
  20321.     {
  20322.         BEGIN_INTERFACE
  20323.         
  20324.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20325.             IAMDecoderCaps * This,
  20326.             /* [in] */ REFIID riid,
  20327.             /* [iid_is][out] */ void **ppvObject);
  20328.         
  20329.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20330.             IAMDecoderCaps * This);
  20331.         
  20332.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20333.             IAMDecoderCaps * This);
  20334.         
  20335.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  20336.             IAMDecoderCaps * This,
  20337.             /* [in] */ DWORD dwCapIndex,
  20338.             /* [out] */ DWORD *lpdwCap);
  20339.         
  20340.         END_INTERFACE
  20341.     } IAMDecoderCapsVtbl;
  20342.  
  20343.     interface IAMDecoderCaps
  20344.     {
  20345.         CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  20346.     };
  20347.  
  20348.     
  20349.  
  20350. #ifdef COBJMACROS
  20351.  
  20352.  
  20353. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject)    \
  20354.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20355.  
  20356. #define IAMDecoderCaps_AddRef(This)    \
  20357.     (This)->lpVtbl -> AddRef(This)
  20358.  
  20359. #define IAMDecoderCaps_Release(This)    \
  20360.     (This)->lpVtbl -> Release(This)
  20361.  
  20362.  
  20363. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap)    \
  20364.     (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  20365.  
  20366. #endif /* COBJMACROS */
  20367.  
  20368.  
  20369. #endif     /* C style interface */
  20370.  
  20371.  
  20372.  
  20373. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy( 
  20374.     IAMDecoderCaps * This,
  20375.     /* [in] */ DWORD dwCapIndex,
  20376.     /* [out] */ DWORD *lpdwCap);
  20377.  
  20378.  
  20379. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  20380.     IRpcStubBuffer *This,
  20381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20382.     PRPC_MESSAGE _pRpcMessage,
  20383.     DWORD *_pdwStubPhase);
  20384.  
  20385.  
  20386.  
  20387. #endif     /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  20388.  
  20389.  
  20390. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  20391. #define __IAMClockSlave_INTERFACE_DEFINED__
  20392.  
  20393. /* interface IAMClockSlave */
  20394. /* [unique][uuid][object] */ 
  20395.  
  20396.  
  20397. EXTERN_C const IID IID_IAMClockSlave;
  20398.  
  20399. #if defined(__cplusplus) && !defined(CINTERFACE)
  20400.     
  20401.     MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  20402.     IAMClockSlave : public IUnknown
  20403.     {
  20404.     public:
  20405.         virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 
  20406.             /* [in] */ DWORD dwTolerance) = 0;
  20407.         
  20408.         virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 
  20409.             /* [out] */ DWORD *pdwTolerance) = 0;
  20410.         
  20411.     };
  20412.     
  20413. #else     /* C style interface */
  20414.  
  20415.     typedef struct IAMClockSlaveVtbl
  20416.     {
  20417.         BEGIN_INTERFACE
  20418.         
  20419.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  20420.             IAMClockSlave * This,
  20421.             /* [in] */ REFIID riid,
  20422.             /* [iid_is][out] */ void **ppvObject);
  20423.         
  20424.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  20425.             IAMClockSlave * This);
  20426.         
  20427.         ULONG ( STDMETHODCALLTYPE *Release )( 
  20428.             IAMClockSlave * This);
  20429.         
  20430.         HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )( 
  20431.             IAMClockSlave * This,
  20432.             /* [in] */ DWORD dwTolerance);
  20433.         
  20434.         HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )( 
  20435.             IAMClockSlave * This,
  20436.             /* [out] */ DWORD *pdwTolerance);
  20437.         
  20438.         END_INTERFACE
  20439.     } IAMClockSlaveVtbl;
  20440.  
  20441.     interface IAMClockSlave
  20442.     {
  20443.         CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  20444.     };
  20445.  
  20446.     
  20447.  
  20448. #ifdef COBJMACROS
  20449.  
  20450.  
  20451. #define IAMClockSlave_QueryInterface(This,riid,ppvObject)    \
  20452.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  20453.  
  20454. #define IAMClockSlave_AddRef(This)    \
  20455.     (This)->lpVtbl -> AddRef(This)
  20456.  
  20457. #define IAMClockSlave_Release(This)    \
  20458.     (This)->lpVtbl -> Release(This)
  20459.  
  20460.  
  20461. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance)    \
  20462.     (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  20463.  
  20464. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance)    \
  20465.     (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  20466.  
  20467. #endif /* COBJMACROS */
  20468.  
  20469.  
  20470. #endif     /* C style interface */
  20471.  
  20472.  
  20473.  
  20474. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy( 
  20475.     IAMClockSlave * This,
  20476.     /* [in] */ DWORD dwTolerance);
  20477.  
  20478.  
  20479. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  20480.     IRpcStubBuffer *This,
  20481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20482.     PRPC_MESSAGE _pRpcMessage,
  20483.     DWORD *_pdwStubPhase);
  20484.  
  20485.  
  20486. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy( 
  20487.     IAMClockSlave * This,
  20488.     /* [out] */ DWORD *pdwTolerance);
  20489.  
  20490.  
  20491. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  20492.     IRpcStubBuffer *This,
  20493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20494.     PRPC_MESSAGE _pRpcMessage,
  20495.     DWORD *_pdwStubPhase);
  20496.  
  20497.  
  20498.  
  20499. #endif     /* __IAMClockSlave_INTERFACE_DEFINED__ */
  20500.  
  20501.  
  20502. /* interface __MIDL_itf_strmif_0360 */
  20503. /* [local] */ 
  20504.  
  20505. #include <ddraw.h>
  20506.  
  20507.  
  20508.  
  20509.  
  20510.  
  20511.  
  20512.  
  20513.  
  20514.  
  20515. typedef 
  20516. enum tagDVD_DOMAIN
  20517.     {    DVD_DOMAIN_FirstPlay    = 1,
  20518.     DVD_DOMAIN_VideoManagerMenu    = DVD_DOMAIN_FirstPlay + 1,
  20519.     DVD_DOMAIN_VideoTitleSetMenu    = DVD_DOMAIN_VideoManagerMenu + 1,
  20520.     DVD_DOMAIN_Title    = DVD_DOMAIN_VideoTitleSetMenu + 1,
  20521.     DVD_DOMAIN_Stop    = DVD_DOMAIN_Title + 1
  20522.     }     DVD_DOMAIN;
  20523.  
  20524. typedef 
  20525. enum tagDVD_MENU_ID
  20526.     {    DVD_MENU_Title    = 2,
  20527.     DVD_MENU_Root    = 3,
  20528.     DVD_MENU_Subpicture    = 4,
  20529.     DVD_MENU_Audio    = 5,
  20530.     DVD_MENU_Angle    = 6,
  20531.     DVD_MENU_Chapter    = 7
  20532.     }     DVD_MENU_ID;
  20533.  
  20534. typedef 
  20535. enum tagDVD_DISC_SIDE
  20536.     {    DVD_SIDE_A    = 1,
  20537.     DVD_SIDE_B    = 2
  20538.     }     DVD_DISC_SIDE;
  20539.  
  20540. typedef 
  20541. enum tagDVD_PREFERRED_DISPLAY_MODE
  20542.     {    DISPLAY_CONTENT_DEFAULT    = 0,
  20543.     DISPLAY_16x9    = 1,
  20544.     DISPLAY_4x3_PANSCAN_PREFERRED    = 2,
  20545.     DISPLAY_4x3_LETTERBOX_PREFERRED    = 3
  20546.     }     DVD_PREFERRED_DISPLAY_MODE;
  20547.  
  20548. typedef WORD DVD_REGISTER;
  20549.  
  20550. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  20551.  
  20552. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  20553.  
  20554. typedef struct tagDVD_ATR
  20555.     {
  20556.     ULONG ulCAT;
  20557.     BYTE pbATRI[ 768 ];
  20558.     }     DVD_ATR;
  20559.  
  20560. typedef BYTE DVD_VideoATR[ 2 ];
  20561.  
  20562. typedef BYTE DVD_AudioATR[ 8 ];
  20563.  
  20564. typedef BYTE DVD_SubpictureATR[ 6 ];
  20565.  
  20566. typedef 
  20567. enum tagDVD_FRAMERATE
  20568.     {    DVD_FPS_25    = 1,
  20569.     DVD_FPS_30NonDrop    = 3
  20570.     }     DVD_FRAMERATE;
  20571.  
  20572. typedef struct tagDVD_TIMECODE
  20573. {
  20574.    ULONG Hours1    :4; // Hours
  20575.    ULONG Hours10  :4; // Tens of Hours 
  20576.  
  20577.    ULONG Minutes1  :4; // Minutes 
  20578.    ULONG Minutes10:4; // Tens of Minutes 
  20579.  
  20580.    ULONG Seconds1  :4; // Seconds 
  20581.    ULONG Seconds10:4; // Tens of Seconds 
  20582.  
  20583.    ULONG Frames1   :4; // Frames 
  20584.    ULONG Frames10 :2; // Tens of Frames 
  20585.  
  20586.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  20587. } DVD_TIMECODE;
  20588. typedef 
  20589. enum tagDVD_TIMECODE_FLAGS
  20590.     {    DVD_TC_FLAG_25fps    = 0x1,
  20591.     DVD_TC_FLAG_30fps    = 0x2,
  20592.     DVD_TC_FLAG_DropFrame    = 0x4,
  20593.     DVD_TC_FLAG_Interpolated    = 0x8
  20594.     }     DVD_TIMECODE_FLAGS;
  20595.  
  20596. typedef struct tagDVD_HMSF_TIMECODE
  20597.     {
  20598.     BYTE bHours;
  20599.     BYTE bMinutes;
  20600.     BYTE bSeconds;
  20601.     BYTE bFrames;
  20602.     }     DVD_HMSF_TIMECODE;
  20603.  
  20604. typedef struct tagDVD_PLAYBACK_LOCATION2
  20605.     {
  20606.     ULONG TitleNum;
  20607.     ULONG ChapterNum;
  20608.     DVD_HMSF_TIMECODE TimeCode;
  20609.     ULONG TimeCodeFlags;
  20610.     }     DVD_PLAYBACK_LOCATION2;
  20611.  
  20612. typedef struct tagDVD_PLAYBACK_LOCATION
  20613.     {
  20614.     ULONG TitleNum;
  20615.     ULONG ChapterNum;
  20616.     ULONG TimeCode;
  20617.     }     DVD_PLAYBACK_LOCATION;
  20618.  
  20619. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  20620.  
  20621. typedef /* [public] */ 
  20622. enum __MIDL___MIDL_itf_strmif_0360_0001
  20623.     {    UOP_FLAG_Play_Title_Or_AtTime    = 0x1,
  20624.     UOP_FLAG_Play_Chapter    = 0x2,
  20625.     UOP_FLAG_Play_Title    = 0x4,
  20626.     UOP_FLAG_Stop    = 0x8,
  20627.     UOP_FLAG_ReturnFromSubMenu    = 0x10,
  20628.     UOP_FLAG_Play_Chapter_Or_AtTime    = 0x20,
  20629.     UOP_FLAG_PlayPrev_Or_Replay_Chapter    = 0x40,
  20630.     UOP_FLAG_PlayNext_Chapter    = 0x80,
  20631.     UOP_FLAG_Play_Forwards    = 0x100,
  20632.     UOP_FLAG_Play_Backwards    = 0x200,
  20633.     UOP_FLAG_ShowMenu_Title    = 0x400,
  20634.     UOP_FLAG_ShowMenu_Root    = 0x800,
  20635.     UOP_FLAG_ShowMenu_SubPic    = 0x1000,
  20636.     UOP_FLAG_ShowMenu_Audio    = 0x2000,
  20637.     UOP_FLAG_ShowMenu_Angle    = 0x4000,
  20638.     UOP_FLAG_ShowMenu_Chapter    = 0x8000,
  20639.     UOP_FLAG_Resume    = 0x10000,
  20640.     UOP_FLAG_Select_Or_Activate_Button    = 0x20000,
  20641.     UOP_FLAG_Still_Off    = 0x40000,
  20642.     UOP_FLAG_Pause_On    = 0x80000,
  20643.     UOP_FLAG_Select_Audio_Stream    = 0x100000,
  20644.     UOP_FLAG_Select_SubPic_Stream    = 0x200000,
  20645.     UOP_FLAG_Select_Angle    = 0x400000,
  20646.     UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode    = 0x800000,
  20647.     UOP_FLAG_Select_Video_Mode_Preference    = 0x1000000
  20648.     }     VALID_UOP_FLAG;
  20649.  
  20650. typedef /* [public] */ 
  20651. enum __MIDL___MIDL_itf_strmif_0360_0002
  20652.     {    DVD_CMD_FLAG_None    = 0,
  20653.     DVD_CMD_FLAG_Flush    = 0x1,
  20654.     DVD_CMD_FLAG_SendEvents    = 0x2,
  20655.     DVD_CMD_FLAG_Block    = 0x4,
  20656.     DVD_CMD_FLAG_StartWhenRendered    = 0x8,
  20657.     DVD_CMD_FLAG_EndAfterRendered    = 0x10
  20658.     }     DVD_CMD_FLAGS;
  20659.  
  20660. typedef /* [public][public] */ 
  20661. enum __MIDL___MIDL_itf_strmif_0360_0003
  20662.     {    DVD_ResetOnStop    = 1,
  20663.     DVD_NotifyParentalLevelChange    = 2,
  20664.     DVD_HMSF_TimeCodeEvents    = 3
  20665.     }     DVD_OPTION_FLAG;
  20666.  
  20667. typedef /* [public][public] */ 
  20668. enum __MIDL___MIDL_itf_strmif_0360_0004
  20669.     {    DVD_Relative_Upper    = 1,
  20670.     DVD_Relative_Lower    = 2,
  20671.     DVD_Relative_Left    = 3,
  20672.     DVD_Relative_Right    = 4
  20673.     }     DVD_RELATIVE_BUTTON;
  20674.  
  20675. typedef 
  20676. enum tagDVD_PARENTAL_LEVEL
  20677.     {    DVD_PARENTAL_LEVEL_8    = 0x8000,
  20678.     DVD_PARENTAL_LEVEL_7    = 0x4000,
  20679.     DVD_PARENTAL_LEVEL_6    = 0x2000,
  20680.     DVD_PARENTAL_LEVEL_5    = 0x1000,
  20681.     DVD_PARENTAL_LEVEL_4    = 0x800,
  20682.     DVD_PARENTAL_LEVEL_3    = 0x400,
  20683.     DVD_PARENTAL_LEVEL_2    = 0x200,
  20684.     DVD_PARENTAL_LEVEL_1    = 0x100
  20685.     }     DVD_PARENTAL_LEVEL;
  20686.  
  20687. typedef 
  20688. enum tagDVD_AUDIO_LANG_EXT
  20689.     {    DVD_AUD_EXT_NotSpecified    = 0,
  20690.     DVD_AUD_EXT_Captions    = 1,
  20691.     DVD_AUD_EXT_VisuallyImpaired    = 2,
  20692.     DVD_AUD_EXT_DirectorComments1    = 3,
  20693.     DVD_AUD_EXT_DirectorComments2    = 4
  20694.     }     DVD_AUDIO_LANG_EXT;
  20695.  
  20696. typedef 
  20697. enum tagDVD_SUBPICTURE_LANG_EXT
  20698.     {    DVD_SP_EXT_NotSpecified    = 0,
  20699.     DVD_SP_EXT_Caption_Normal    = 1,
  20700.     DVD_SP_EXT_Caption_Big    = 2,
  20701.     DVD_SP_EXT_Caption_Children    = 3,
  20702.     DVD_SP_EXT_CC_Normal    = 5,
  20703.     DVD_SP_EXT_CC_Big    = 6,
  20704.     DVD_SP_EXT_CC_Children    = 7,
  20705.     DVD_SP_EXT_Forced    = 9,
  20706.     DVD_SP_EXT_DirectorComments_Normal    = 13,
  20707.     DVD_SP_EXT_DirectorComments_Big    = 14,
  20708.     DVD_SP_EXT_DirectorComments_Children    = 15
  20709.     }     DVD_SUBPICTURE_LANG_EXT;
  20710.  
  20711. typedef 
  20712. enum tagDVD_AUDIO_APPMODE
  20713.     {    DVD_AudioMode_None    = 0,
  20714.     DVD_AudioMode_Karaoke    = 1,
  20715.     DVD_AudioMode_Surround    = 2,
  20716.     DVD_AudioMode_Other    = 3
  20717.     }     DVD_AUDIO_APPMODE;
  20718.  
  20719. typedef 
  20720. enum tagDVD_AUDIO_FORMAT
  20721.     {    DVD_AudioFormat_AC3    = 0,
  20722.     DVD_AudioFormat_MPEG1    = 1,
  20723.     DVD_AudioFormat_MPEG1_DRC    = 2,
  20724.     DVD_AudioFormat_MPEG2    = 3,
  20725.     DVD_AudioFormat_MPEG2_DRC    = 4,
  20726.     DVD_AudioFormat_LPCM    = 5,
  20727.     DVD_AudioFormat_DTS    = 6,
  20728.     DVD_AudioFormat_SDDS    = 7,
  20729.     DVD_AudioFormat_Other    = 8
  20730.     }     DVD_AUDIO_FORMAT;
  20731.  
  20732. typedef 
  20733. enum tagDVD_KARAOKE_DOWNMIX
  20734.     {    DVD_Mix_0to0    = 0x1,
  20735.     DVD_Mix_1to0    = 0x2,
  20736.     DVD_Mix_2to0    = 0x4,
  20737.     DVD_Mix_3to0    = 0x8,
  20738.     DVD_Mix_4to0    = 0x10,
  20739.     DVD_Mix_Lto0    = 0x20,
  20740.     DVD_Mix_Rto0    = 0x40,
  20741.     DVD_Mix_0to1    = 0x100,
  20742.     DVD_Mix_1to1    = 0x200,
  20743.     DVD_Mix_2to1    = 0x400,
  20744.     DVD_Mix_3to1    = 0x800,
  20745.     DVD_Mix_4to1    = 0x1000,
  20746.     DVD_Mix_Lto1    = 0x2000,
  20747.     DVD_Mix_Rto1    = 0x4000
  20748.     }     DVD_KARAOKE_DOWNMIX;
  20749.  
  20750. typedef struct tagDVD_AudioAttributes
  20751.     {
  20752.     DVD_AUDIO_APPMODE AppMode;
  20753.     BYTE AppModeData;
  20754.     DVD_AUDIO_FORMAT AudioFormat;
  20755.     LCID Language;
  20756.     DVD_AUDIO_LANG_EXT LanguageExtension;
  20757.     BOOL fHasMultichannelInfo;
  20758.     DWORD dwFrequency;
  20759.     BYTE bQuantization;
  20760.     BYTE bNumberOfChannels;
  20761.     DWORD dwReserved[ 2 ];
  20762.     }     DVD_AudioAttributes;
  20763.  
  20764. typedef struct tagDVD_MUA_MixingInfo
  20765.     {
  20766.     BOOL fMixTo0;
  20767.     BOOL fMixTo1;
  20768.     BOOL fMix0InPhase;
  20769.     BOOL fMix1InPhase;
  20770.     DWORD dwSpeakerPosition;
  20771.     }     DVD_MUA_MixingInfo;
  20772.  
  20773. typedef struct tagDVD_MUA_Coeff
  20774.     {
  20775.     double log2_alpha;
  20776.     double log2_beta;
  20777.     }     DVD_MUA_Coeff;
  20778.  
  20779. typedef struct tagDVD_MultichannelAudioAttributes
  20780.     {
  20781.     DVD_MUA_MixingInfo Info[ 8 ];
  20782.     DVD_MUA_Coeff Coeff[ 8 ];
  20783.     }     DVD_MultichannelAudioAttributes;
  20784.  
  20785. typedef 
  20786. enum tagDVD_KARAOKE_CONTENTS
  20787.     {    DVD_Karaoke_GuideVocal1    = 0x1,
  20788.     DVD_Karaoke_GuideVocal2    = 0x2,
  20789.     DVD_Karaoke_GuideMelody1    = 0x4,
  20790.     DVD_Karaoke_GuideMelody2    = 0x8,
  20791.     DVD_Karaoke_GuideMelodyA    = 0x10,
  20792.     DVD_Karaoke_GuideMelodyB    = 0x20,
  20793.     DVD_Karaoke_SoundEffectA    = 0x40,
  20794.     DVD_Karaoke_SoundEffectB    = 0x80
  20795.     }     DVD_KARAOKE_CONTENTS;
  20796.  
  20797. typedef 
  20798. enum tagDVD_KARAOKE_ASSIGNMENT
  20799.     {    DVD_Assignment_reserved0    = 0,
  20800.     DVD_Assignment_reserved1    = 1,
  20801.     DVD_Assignment_LR    = 2,
  20802.     DVD_Assignment_LRM    = 3,
  20803.     DVD_Assignment_LR1    = 4,
  20804.     DVD_Assignment_LRM1    = 5,
  20805.     DVD_Assignment_LR12    = 6,
  20806.     DVD_Assignment_LRM12    = 7
  20807.     }     DVD_KARAOKE_ASSIGNMENT;
  20808.  
  20809. typedef struct tagDVD_KaraokeAttributes
  20810.     {
  20811.     BYTE bVersion;
  20812.     BOOL fMasterOfCeremoniesInGuideVocal1;
  20813.     BOOL fDuet;
  20814.     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  20815.     WORD wChannelContents[ 8 ];
  20816.     }     DVD_KaraokeAttributes;
  20817.  
  20818. typedef 
  20819. enum tagDVD_VIDEO_COMPRESSION
  20820.     {    DVD_VideoCompression_Other    = 0,
  20821.     DVD_VideoCompression_MPEG1    = 1,
  20822.     DVD_VideoCompression_MPEG2    = 2
  20823.     }     DVD_VIDEO_COMPRESSION;
  20824.  
  20825. typedef struct tagDVD_VideoAttributes
  20826.     {
  20827.     BOOL fPanscanPermitted;
  20828.     BOOL fLetterboxPermitted;
  20829.     ULONG ulAspectX;
  20830.     ULONG ulAspectY;
  20831.     ULONG ulFrameRate;
  20832.     ULONG ulFrameHeight;
  20833.     DVD_VIDEO_COMPRESSION Compression;
  20834.     BOOL fLine21Field1InGOP;
  20835.     BOOL fLine21Field2InGOP;
  20836.     ULONG ulSourceResolutionX;
  20837.     ULONG ulSourceResolutionY;
  20838.     BOOL fIsSourceLetterboxed;
  20839.     BOOL fIsFilmMode;
  20840.     }     DVD_VideoAttributes;
  20841.  
  20842. typedef 
  20843. enum tagDVD_SUBPICTURE_TYPE
  20844.     {    DVD_SPType_NotSpecified    = 0,
  20845.     DVD_SPType_Language    = 1,
  20846.     DVD_SPType_Other    = 2
  20847.     }     DVD_SUBPICTURE_TYPE;
  20848.  
  20849. typedef 
  20850. enum tagDVD_SUBPICTURE_CODING
  20851.     {    DVD_SPCoding_RunLength    = 0,
  20852.     DVD_SPCoding_Extended    = 1,
  20853.     DVD_SPCoding_Other    = 2
  20854.     }     DVD_SUBPICTURE_CODING;
  20855.  
  20856. typedef struct tagDVD_SubpictureAttributes
  20857.     {
  20858.     DVD_SUBPICTURE_TYPE Type;
  20859.     DVD_SUBPICTURE_CODING CodingMode;
  20860.     LCID Language;
  20861.     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  20862.     }     DVD_SubpictureAttributes;
  20863.  
  20864. typedef 
  20865. enum tagDVD_TITLE_APPMODE
  20866.     {    DVD_AppMode_Not_Specified    = 0,
  20867.     DVD_AppMode_Karaoke    = 1,
  20868.     DVD_AppMode_Other    = 3
  20869.     }     DVD_TITLE_APPMODE;
  20870.  
  20871. typedef struct tagDVD_TitleMainAttributes
  20872.     {
  20873.     DVD_TITLE_APPMODE AppMode;
  20874.     DVD_VideoAttributes VideoAttributes;
  20875.     ULONG ulNumberOfAudioStreams;
  20876.     DVD_AudioAttributes AudioAttributes[ 8 ];
  20877.     DVD_MultichannelAudioAttributes MultichannelAudioAttributes[ 8 ];
  20878.     ULONG ulNumberOfSubpictureStreams;
  20879.     DVD_SubpictureAttributes SubpictureAttributes[ 32 ];
  20880.     }     DVD_TitleAttributes;
  20881.  
  20882. typedef struct tagDVD_MenuAttributes
  20883.     {
  20884.     BOOL fCompatibleRegion[ 8 ];
  20885.     DVD_VideoAttributes VideoAttributes;
  20886.     BOOL fAudioPresent;
  20887.     DVD_AudioAttributes AudioAttributes;
  20888.     BOOL fSubpicturePresent;
  20889.     DVD_SubpictureAttributes SubpictureAttributes;
  20890.     }     DVD_MenuAttributes;
  20891.  
  20892.  
  20893.  
  20894. extern RPC_IF_HANDLE __MIDL_itf_strmif_0360_v0_0_c_ifspec;
  20895. extern RPC_IF_HANDLE __MIDL_itf_strmif_0360_v0_0_s_ifspec;
  20896.  
  20897. #ifndef __IDvdControl_INTERFACE_DEFINED__
  20898. #define __IDvdControl_INTERFACE_DEFINED__
  20899.  
  20900. /* interface IDvdControl */
  20901. /* [unique][uuid][object] */ 
  20902.  
  20903.  
  20904. EXTERN_C const IID IID_IDvdControl;
  20905.  
  20906. #if defined(__cplusplus) && !defined(CINTERFACE)
  20907.     
  20908.     MIDL_INTERFACE("A70EFE61-E2A3-11d0-A9BE-00AA0061BE93")
  20909.     IDvdControl : public IUnknown
  20910.     {
  20911.     public:
  20912.         virtual HRESULT STDMETHODCALLTYPE TitlePlay( 
  20913.             /* [in] */ ULONG ulTitle) = 0;
  20914.         
  20915.         virtual HRESULT STDMETHODCALLTYPE ChapterPlay( 
  20916.             /* [in] */ ULONG ulTitle,
  20917.             /* [in] */ ULONG ulChapter) = 0;
  20918.         
  20919.         virtual HRESULT STDMETHODCALLTYPE TimePlay( 
  20920.             /* [in] */ ULONG ulTitle,
  20921.             /* [in] */ ULONG bcdTime) = 0;
  20922.         
  20923.         virtual HRESULT STDMETHODCALLTYPE StopForResume( void) = 0;
  20924.         
  20925.         virtual HRESULT STDMETHODCALLTYPE GoUp( void) = 0;
  20926.         
  20927.         virtual HRESULT STDMETHODCALLTYPE TimeSearch( 
  20928.             /* [in] */ ULONG bcdTime) = 0;
  20929.         
  20930.         virtual HRESULT STDMETHODCALLTYPE ChapterSearch( 
  20931.             /* [in] */ ULONG ulChapter) = 0;
  20932.         
  20933.         virtual HRESULT STDMETHODCALLTYPE PrevPGSearch( void) = 0;
  20934.         
  20935.         virtual HRESULT STDMETHODCALLTYPE TopPGSearch( void) = 0;
  20936.         
  20937.         virtual HRESULT STDMETHODCALLTYPE NextPGSearch( void) = 0;
  20938.         
  20939.         virtual HRESULT STDMETHODCALLTYPE ForwardScan( 
  20940.             /* [in] */ double dwSpeed) = 0;
  20941.         
  20942.         virtual HRESULT STDMETHODCALLTYPE BackwardScan( 
  20943.             /* [in] */ double dwSpeed) = 0;
  20944.         
  20945.         virtual HRESULT STDMETHODCALLTYPE MenuCall( 
  20946.             /* [in] */ DVD_MENU_ID MenuID) = 0;
  20947.         
  20948.         virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
  20949.         
  20950.         virtual HRESULT STDMETHODCALLTYPE UpperButtonSelect( void) = 0;
  20951.         
  20952.         virtual HRESULT STDMETHODCALLTYPE LowerButtonSelect( void) = 0;
  20953.         
  20954.         virtual HRESULT STDMETHODCALLTYPE LeftButtonSelect( void) = 0;
  20955.         
  20956.         virtual HRESULT STDMETHODCALLTYPE RightButtonSelect( void) = 0;
  20957.         
  20958.         virtual HRESULT STDMETHODCALLTYPE ButtonActivate( void) = 0;
  20959.         
  20960.         virtual HRESULT STDMETHODCALLTYPE ButtonSelectAndActivate( 
  20961.             /* [in] */ ULONG ulButton) = 0;
  20962.         
  20963.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  20964.         
  20965.         virtual HRESULT STDMETHODCALLTYPE PauseOn( void) = 0;
  20966.         
  20967.         virtual HRESULT STDMETHODCALLTYPE PauseOff( void) = 0;
  20968.         
  20969.         virtual HRESULT STDMETHODCALLTYPE MenuLanguageSelect( 
  20970.             /* [in] */ LCID Language) = 0;
  20971.         
  20972.         virtual HRESULT STDMETHODCALLTYPE AudioStreamChange( 
  20973.             /* [in] */ ULONG ulAudio) = 0;
  20974.         
  20975.         virtual HRESULT STDMETHODCALLTYPE SubpictureStreamChange( 
  20976.             /* [in] */ ULONG ulSubPicture,
  20977.             /* [in] */ BOOL bDisplay) = 0;
  20978.         
  20979.         virtual HRESULT STDMETHODCALLTYPE AngleChange( 
  20980.             /* [in] */ ULONG ulAngle) = 0;
  20981.         
  20982.         virtual HRESULT STDMETHODCALLTYPE ParentalLevelSelect( 
  20983.             /* [in] */ ULONG ulParentalLevel) = 0;
  20984.         
  20985.         virtual HRESULT STDMETHODCALLTYPE ParentalCountrySelect( 
  20986.             /* [in] */ WORD wCountry) = 0;
  20987.         
  20988.         virtual HRESULT STDMETHODCALLTYPE KaraokeAudioPresentationModeChange( 
  20989.             /* [in] */ ULONG ulMode) = 0;
  20990.         
  20991.         virtual HRESULT STDMETHODCALLTYPE VideoModePreferrence( 
  20992.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  20993.         
  20994.         virtual HRESULT STDMETHODCALLTYPE SetRoot( 
  20995.             /* [in] */ LPCWSTR pszPath) = 0;
  20996.         
  20997.         virtual HRESULT STDMETHODCALLTYPE MouseActivate( 
  20998.             /* [in] */ POINT point) = 0;
  20999.         
  21000.         virtual HRESULT STDMETHODCALLTYPE MouseSelect( 
  21001.             /* [in] */ POINT point) = 0;
  21002.         
  21003.         virtual HRESULT STDMETHODCALLTYPE ChapterPlayAutoStop( 
  21004.             /* [in] */ ULONG ulTitle,
  21005.             /* [in] */ ULONG ulChapter,
  21006.             /* [in] */ ULONG ulChaptersToPlay) = 0;
  21007.         
  21008.     };
  21009.     
  21010. #else     /* C style interface */
  21011.  
  21012.     typedef struct IDvdControlVtbl
  21013.     {
  21014.         BEGIN_INTERFACE
  21015.         
  21016.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21017.             IDvdControl * This,
  21018.             /* [in] */ REFIID riid,
  21019.             /* [iid_is][out] */ void **ppvObject);
  21020.         
  21021.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21022.             IDvdControl * This);
  21023.         
  21024.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21025.             IDvdControl * This);
  21026.         
  21027.         HRESULT ( STDMETHODCALLTYPE *TitlePlay )( 
  21028.             IDvdControl * This,
  21029.             /* [in] */ ULONG ulTitle);
  21030.         
  21031.         HRESULT ( STDMETHODCALLTYPE *ChapterPlay )( 
  21032.             IDvdControl * This,
  21033.             /* [in] */ ULONG ulTitle,
  21034.             /* [in] */ ULONG ulChapter);
  21035.         
  21036.         HRESULT ( STDMETHODCALLTYPE *TimePlay )( 
  21037.             IDvdControl * This,
  21038.             /* [in] */ ULONG ulTitle,
  21039.             /* [in] */ ULONG bcdTime);
  21040.         
  21041.         HRESULT ( STDMETHODCALLTYPE *StopForResume )( 
  21042.             IDvdControl * This);
  21043.         
  21044.         HRESULT ( STDMETHODCALLTYPE *GoUp )( 
  21045.             IDvdControl * This);
  21046.         
  21047.         HRESULT ( STDMETHODCALLTYPE *TimeSearch )( 
  21048.             IDvdControl * This,
  21049.             /* [in] */ ULONG bcdTime);
  21050.         
  21051.         HRESULT ( STDMETHODCALLTYPE *ChapterSearch )( 
  21052.             IDvdControl * This,
  21053.             /* [in] */ ULONG ulChapter);
  21054.         
  21055.         HRESULT ( STDMETHODCALLTYPE *PrevPGSearch )( 
  21056.             IDvdControl * This);
  21057.         
  21058.         HRESULT ( STDMETHODCALLTYPE *TopPGSearch )( 
  21059.             IDvdControl * This);
  21060.         
  21061.         HRESULT ( STDMETHODCALLTYPE *NextPGSearch )( 
  21062.             IDvdControl * This);
  21063.         
  21064.         HRESULT ( STDMETHODCALLTYPE *ForwardScan )( 
  21065.             IDvdControl * This,
  21066.             /* [in] */ double dwSpeed);
  21067.         
  21068.         HRESULT ( STDMETHODCALLTYPE *BackwardScan )( 
  21069.             IDvdControl * This,
  21070.             /* [in] */ double dwSpeed);
  21071.         
  21072.         HRESULT ( STDMETHODCALLTYPE *MenuCall )( 
  21073.             IDvdControl * This,
  21074.             /* [in] */ DVD_MENU_ID MenuID);
  21075.         
  21076.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  21077.             IDvdControl * This);
  21078.         
  21079.         HRESULT ( STDMETHODCALLTYPE *UpperButtonSelect )( 
  21080.             IDvdControl * This);
  21081.         
  21082.         HRESULT ( STDMETHODCALLTYPE *LowerButtonSelect )( 
  21083.             IDvdControl * This);
  21084.         
  21085.         HRESULT ( STDMETHODCALLTYPE *LeftButtonSelect )( 
  21086.             IDvdControl * This);
  21087.         
  21088.         HRESULT ( STDMETHODCALLTYPE *RightButtonSelect )( 
  21089.             IDvdControl * This);
  21090.         
  21091.         HRESULT ( STDMETHODCALLTYPE *ButtonActivate )( 
  21092.             IDvdControl * This);
  21093.         
  21094.         HRESULT ( STDMETHODCALLTYPE *ButtonSelectAndActivate )( 
  21095.             IDvdControl * This,
  21096.             /* [in] */ ULONG ulButton);
  21097.         
  21098.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  21099.             IDvdControl * This);
  21100.         
  21101.         HRESULT ( STDMETHODCALLTYPE *PauseOn )( 
  21102.             IDvdControl * This);
  21103.         
  21104.         HRESULT ( STDMETHODCALLTYPE *PauseOff )( 
  21105.             IDvdControl * This);
  21106.         
  21107.         HRESULT ( STDMETHODCALLTYPE *MenuLanguageSelect )( 
  21108.             IDvdControl * This,
  21109.             /* [in] */ LCID Language);
  21110.         
  21111.         HRESULT ( STDMETHODCALLTYPE *AudioStreamChange )( 
  21112.             IDvdControl * This,
  21113.             /* [in] */ ULONG ulAudio);
  21114.         
  21115.         HRESULT ( STDMETHODCALLTYPE *SubpictureStreamChange )( 
  21116.             IDvdControl * This,
  21117.             /* [in] */ ULONG ulSubPicture,
  21118.             /* [in] */ BOOL bDisplay);
  21119.         
  21120.         HRESULT ( STDMETHODCALLTYPE *AngleChange )( 
  21121.             IDvdControl * This,
  21122.             /* [in] */ ULONG ulAngle);
  21123.         
  21124.         HRESULT ( STDMETHODCALLTYPE *ParentalLevelSelect )( 
  21125.             IDvdControl * This,
  21126.             /* [in] */ ULONG ulParentalLevel);
  21127.         
  21128.         HRESULT ( STDMETHODCALLTYPE *ParentalCountrySelect )( 
  21129.             IDvdControl * This,
  21130.             /* [in] */ WORD wCountry);
  21131.         
  21132.         HRESULT ( STDMETHODCALLTYPE *KaraokeAudioPresentationModeChange )( 
  21133.             IDvdControl * This,
  21134.             /* [in] */ ULONG ulMode);
  21135.         
  21136.         HRESULT ( STDMETHODCALLTYPE *VideoModePreferrence )( 
  21137.             IDvdControl * This,
  21138.             /* [in] */ ULONG ulPreferredDisplayMode);
  21139.         
  21140.         HRESULT ( STDMETHODCALLTYPE *SetRoot )( 
  21141.             IDvdControl * This,
  21142.             /* [in] */ LPCWSTR pszPath);
  21143.         
  21144.         HRESULT ( STDMETHODCALLTYPE *MouseActivate )( 
  21145.             IDvdControl * This,
  21146.             /* [in] */ POINT point);
  21147.         
  21148.         HRESULT ( STDMETHODCALLTYPE *MouseSelect )( 
  21149.             IDvdControl * This,
  21150.             /* [in] */ POINT point);
  21151.         
  21152.         HRESULT ( STDMETHODCALLTYPE *ChapterPlayAutoStop )( 
  21153.             IDvdControl * This,
  21154.             /* [in] */ ULONG ulTitle,
  21155.             /* [in] */ ULONG ulChapter,
  21156.             /* [in] */ ULONG ulChaptersToPlay);
  21157.         
  21158.         END_INTERFACE
  21159.     } IDvdControlVtbl;
  21160.  
  21161.     interface IDvdControl
  21162.     {
  21163.         CONST_VTBL struct IDvdControlVtbl *lpVtbl;
  21164.     };
  21165.  
  21166.     
  21167.  
  21168. #ifdef COBJMACROS
  21169.  
  21170.  
  21171. #define IDvdControl_QueryInterface(This,riid,ppvObject)    \
  21172.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21173.  
  21174. #define IDvdControl_AddRef(This)    \
  21175.     (This)->lpVtbl -> AddRef(This)
  21176.  
  21177. #define IDvdControl_Release(This)    \
  21178.     (This)->lpVtbl -> Release(This)
  21179.  
  21180.  
  21181. #define IDvdControl_TitlePlay(This,ulTitle)    \
  21182.     (This)->lpVtbl -> TitlePlay(This,ulTitle)
  21183.  
  21184. #define IDvdControl_ChapterPlay(This,ulTitle,ulChapter)    \
  21185.     (This)->lpVtbl -> ChapterPlay(This,ulTitle,ulChapter)
  21186.  
  21187. #define IDvdControl_TimePlay(This,ulTitle,bcdTime)    \
  21188.     (This)->lpVtbl -> TimePlay(This,ulTitle,bcdTime)
  21189.  
  21190. #define IDvdControl_StopForResume(This)    \
  21191.     (This)->lpVtbl -> StopForResume(This)
  21192.  
  21193. #define IDvdControl_GoUp(This)    \
  21194.     (This)->lpVtbl -> GoUp(This)
  21195.  
  21196. #define IDvdControl_TimeSearch(This,bcdTime)    \
  21197.     (This)->lpVtbl -> TimeSearch(This,bcdTime)
  21198.  
  21199. #define IDvdControl_ChapterSearch(This,ulChapter)    \
  21200.     (This)->lpVtbl -> ChapterSearch(This,ulChapter)
  21201.  
  21202. #define IDvdControl_PrevPGSearch(This)    \
  21203.     (This)->lpVtbl -> PrevPGSearch(This)
  21204.  
  21205. #define IDvdControl_TopPGSearch(This)    \
  21206.     (This)->lpVtbl -> TopPGSearch(This)
  21207.  
  21208. #define IDvdControl_NextPGSearch(This)    \
  21209.     (This)->lpVtbl -> NextPGSearch(This)
  21210.  
  21211. #define IDvdControl_ForwardScan(This,dwSpeed)    \
  21212.     (This)->lpVtbl -> ForwardScan(This,dwSpeed)
  21213.  
  21214. #define IDvdControl_BackwardScan(This,dwSpeed)    \
  21215.     (This)->lpVtbl -> BackwardScan(This,dwSpeed)
  21216.  
  21217. #define IDvdControl_MenuCall(This,MenuID)    \
  21218.     (This)->lpVtbl -> MenuCall(This,MenuID)
  21219.  
  21220. #define IDvdControl_Resume(This)    \
  21221.     (This)->lpVtbl -> Resume(This)
  21222.  
  21223. #define IDvdControl_UpperButtonSelect(This)    \
  21224.     (This)->lpVtbl -> UpperButtonSelect(This)
  21225.  
  21226. #define IDvdControl_LowerButtonSelect(This)    \
  21227.     (This)->lpVtbl -> LowerButtonSelect(This)
  21228.  
  21229. #define IDvdControl_LeftButtonSelect(This)    \
  21230.     (This)->lpVtbl -> LeftButtonSelect(This)
  21231.  
  21232. #define IDvdControl_RightButtonSelect(This)    \
  21233.     (This)->lpVtbl -> RightButtonSelect(This)
  21234.  
  21235. #define IDvdControl_ButtonActivate(This)    \
  21236.     (This)->lpVtbl -> ButtonActivate(This)
  21237.  
  21238. #define IDvdControl_ButtonSelectAndActivate(This,ulButton)    \
  21239.     (This)->lpVtbl -> ButtonSelectAndActivate(This,ulButton)
  21240.  
  21241. #define IDvdControl_StillOff(This)    \
  21242.     (This)->lpVtbl -> StillOff(This)
  21243.  
  21244. #define IDvdControl_PauseOn(This)    \
  21245.     (This)->lpVtbl -> PauseOn(This)
  21246.  
  21247. #define IDvdControl_PauseOff(This)    \
  21248.     (This)->lpVtbl -> PauseOff(This)
  21249.  
  21250. #define IDvdControl_MenuLanguageSelect(This,Language)    \
  21251.     (This)->lpVtbl -> MenuLanguageSelect(This,Language)
  21252.  
  21253. #define IDvdControl_AudioStreamChange(This,ulAudio)    \
  21254.     (This)->lpVtbl -> AudioStreamChange(This,ulAudio)
  21255.  
  21256. #define IDvdControl_SubpictureStreamChange(This,ulSubPicture,bDisplay)    \
  21257.     (This)->lpVtbl -> SubpictureStreamChange(This,ulSubPicture,bDisplay)
  21258.  
  21259. #define IDvdControl_AngleChange(This,ulAngle)    \
  21260.     (This)->lpVtbl -> AngleChange(This,ulAngle)
  21261.  
  21262. #define IDvdControl_ParentalLevelSelect(This,ulParentalLevel)    \
  21263.     (This)->lpVtbl -> ParentalLevelSelect(This,ulParentalLevel)
  21264.  
  21265. #define IDvdControl_ParentalCountrySelect(This,wCountry)    \
  21266.     (This)->lpVtbl -> ParentalCountrySelect(This,wCountry)
  21267.  
  21268. #define IDvdControl_KaraokeAudioPresentationModeChange(This,ulMode)    \
  21269.     (This)->lpVtbl -> KaraokeAudioPresentationModeChange(This,ulMode)
  21270.  
  21271. #define IDvdControl_VideoModePreferrence(This,ulPreferredDisplayMode)    \
  21272.     (This)->lpVtbl -> VideoModePreferrence(This,ulPreferredDisplayMode)
  21273.  
  21274. #define IDvdControl_SetRoot(This,pszPath)    \
  21275.     (This)->lpVtbl -> SetRoot(This,pszPath)
  21276.  
  21277. #define IDvdControl_MouseActivate(This,point)    \
  21278.     (This)->lpVtbl -> MouseActivate(This,point)
  21279.  
  21280. #define IDvdControl_MouseSelect(This,point)    \
  21281.     (This)->lpVtbl -> MouseSelect(This,point)
  21282.  
  21283. #define IDvdControl_ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)    \
  21284.     (This)->lpVtbl -> ChapterPlayAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay)
  21285.  
  21286. #endif /* COBJMACROS */
  21287.  
  21288.  
  21289. #endif     /* C style interface */
  21290.  
  21291.  
  21292.  
  21293. HRESULT STDMETHODCALLTYPE IDvdControl_TitlePlay_Proxy( 
  21294.     IDvdControl * This,
  21295.     /* [in] */ ULONG ulTitle);
  21296.  
  21297.  
  21298. void __RPC_STUB IDvdControl_TitlePlay_Stub(
  21299.     IRpcStubBuffer *This,
  21300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21301.     PRPC_MESSAGE _pRpcMessage,
  21302.     DWORD *_pdwStubPhase);
  21303.  
  21304.  
  21305. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlay_Proxy( 
  21306.     IDvdControl * This,
  21307.     /* [in] */ ULONG ulTitle,
  21308.     /* [in] */ ULONG ulChapter);
  21309.  
  21310.  
  21311. void __RPC_STUB IDvdControl_ChapterPlay_Stub(
  21312.     IRpcStubBuffer *This,
  21313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21314.     PRPC_MESSAGE _pRpcMessage,
  21315.     DWORD *_pdwStubPhase);
  21316.  
  21317.  
  21318. HRESULT STDMETHODCALLTYPE IDvdControl_TimePlay_Proxy( 
  21319.     IDvdControl * This,
  21320.     /* [in] */ ULONG ulTitle,
  21321.     /* [in] */ ULONG bcdTime);
  21322.  
  21323.  
  21324. void __RPC_STUB IDvdControl_TimePlay_Stub(
  21325.     IRpcStubBuffer *This,
  21326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21327.     PRPC_MESSAGE _pRpcMessage,
  21328.     DWORD *_pdwStubPhase);
  21329.  
  21330.  
  21331. HRESULT STDMETHODCALLTYPE IDvdControl_StopForResume_Proxy( 
  21332.     IDvdControl * This);
  21333.  
  21334.  
  21335. void __RPC_STUB IDvdControl_StopForResume_Stub(
  21336.     IRpcStubBuffer *This,
  21337.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21338.     PRPC_MESSAGE _pRpcMessage,
  21339.     DWORD *_pdwStubPhase);
  21340.  
  21341.  
  21342. HRESULT STDMETHODCALLTYPE IDvdControl_GoUp_Proxy( 
  21343.     IDvdControl * This);
  21344.  
  21345.  
  21346. void __RPC_STUB IDvdControl_GoUp_Stub(
  21347.     IRpcStubBuffer *This,
  21348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21349.     PRPC_MESSAGE _pRpcMessage,
  21350.     DWORD *_pdwStubPhase);
  21351.  
  21352.  
  21353. HRESULT STDMETHODCALLTYPE IDvdControl_TimeSearch_Proxy( 
  21354.     IDvdControl * This,
  21355.     /* [in] */ ULONG bcdTime);
  21356.  
  21357.  
  21358. void __RPC_STUB IDvdControl_TimeSearch_Stub(
  21359.     IRpcStubBuffer *This,
  21360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21361.     PRPC_MESSAGE _pRpcMessage,
  21362.     DWORD *_pdwStubPhase);
  21363.  
  21364.  
  21365. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterSearch_Proxy( 
  21366.     IDvdControl * This,
  21367.     /* [in] */ ULONG ulChapter);
  21368.  
  21369.  
  21370. void __RPC_STUB IDvdControl_ChapterSearch_Stub(
  21371.     IRpcStubBuffer *This,
  21372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21373.     PRPC_MESSAGE _pRpcMessage,
  21374.     DWORD *_pdwStubPhase);
  21375.  
  21376.  
  21377. HRESULT STDMETHODCALLTYPE IDvdControl_PrevPGSearch_Proxy( 
  21378.     IDvdControl * This);
  21379.  
  21380.  
  21381. void __RPC_STUB IDvdControl_PrevPGSearch_Stub(
  21382.     IRpcStubBuffer *This,
  21383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21384.     PRPC_MESSAGE _pRpcMessage,
  21385.     DWORD *_pdwStubPhase);
  21386.  
  21387.  
  21388. HRESULT STDMETHODCALLTYPE IDvdControl_TopPGSearch_Proxy( 
  21389.     IDvdControl * This);
  21390.  
  21391.  
  21392. void __RPC_STUB IDvdControl_TopPGSearch_Stub(
  21393.     IRpcStubBuffer *This,
  21394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21395.     PRPC_MESSAGE _pRpcMessage,
  21396.     DWORD *_pdwStubPhase);
  21397.  
  21398.  
  21399. HRESULT STDMETHODCALLTYPE IDvdControl_NextPGSearch_Proxy( 
  21400.     IDvdControl * This);
  21401.  
  21402.  
  21403. void __RPC_STUB IDvdControl_NextPGSearch_Stub(
  21404.     IRpcStubBuffer *This,
  21405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21406.     PRPC_MESSAGE _pRpcMessage,
  21407.     DWORD *_pdwStubPhase);
  21408.  
  21409.  
  21410. HRESULT STDMETHODCALLTYPE IDvdControl_ForwardScan_Proxy( 
  21411.     IDvdControl * This,
  21412.     /* [in] */ double dwSpeed);
  21413.  
  21414.  
  21415. void __RPC_STUB IDvdControl_ForwardScan_Stub(
  21416.     IRpcStubBuffer *This,
  21417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21418.     PRPC_MESSAGE _pRpcMessage,
  21419.     DWORD *_pdwStubPhase);
  21420.  
  21421.  
  21422. HRESULT STDMETHODCALLTYPE IDvdControl_BackwardScan_Proxy( 
  21423.     IDvdControl * This,
  21424.     /* [in] */ double dwSpeed);
  21425.  
  21426.  
  21427. void __RPC_STUB IDvdControl_BackwardScan_Stub(
  21428.     IRpcStubBuffer *This,
  21429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21430.     PRPC_MESSAGE _pRpcMessage,
  21431.     DWORD *_pdwStubPhase);
  21432.  
  21433.  
  21434. HRESULT STDMETHODCALLTYPE IDvdControl_MenuCall_Proxy( 
  21435.     IDvdControl * This,
  21436.     /* [in] */ DVD_MENU_ID MenuID);
  21437.  
  21438.  
  21439. void __RPC_STUB IDvdControl_MenuCall_Stub(
  21440.     IRpcStubBuffer *This,
  21441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21442.     PRPC_MESSAGE _pRpcMessage,
  21443.     DWORD *_pdwStubPhase);
  21444.  
  21445.  
  21446. HRESULT STDMETHODCALLTYPE IDvdControl_Resume_Proxy( 
  21447.     IDvdControl * This);
  21448.  
  21449.  
  21450. void __RPC_STUB IDvdControl_Resume_Stub(
  21451.     IRpcStubBuffer *This,
  21452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21453.     PRPC_MESSAGE _pRpcMessage,
  21454.     DWORD *_pdwStubPhase);
  21455.  
  21456.  
  21457. HRESULT STDMETHODCALLTYPE IDvdControl_UpperButtonSelect_Proxy( 
  21458.     IDvdControl * This);
  21459.  
  21460.  
  21461. void __RPC_STUB IDvdControl_UpperButtonSelect_Stub(
  21462.     IRpcStubBuffer *This,
  21463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21464.     PRPC_MESSAGE _pRpcMessage,
  21465.     DWORD *_pdwStubPhase);
  21466.  
  21467.  
  21468. HRESULT STDMETHODCALLTYPE IDvdControl_LowerButtonSelect_Proxy( 
  21469.     IDvdControl * This);
  21470.  
  21471.  
  21472. void __RPC_STUB IDvdControl_LowerButtonSelect_Stub(
  21473.     IRpcStubBuffer *This,
  21474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21475.     PRPC_MESSAGE _pRpcMessage,
  21476.     DWORD *_pdwStubPhase);
  21477.  
  21478.  
  21479. HRESULT STDMETHODCALLTYPE IDvdControl_LeftButtonSelect_Proxy( 
  21480.     IDvdControl * This);
  21481.  
  21482.  
  21483. void __RPC_STUB IDvdControl_LeftButtonSelect_Stub(
  21484.     IRpcStubBuffer *This,
  21485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21486.     PRPC_MESSAGE _pRpcMessage,
  21487.     DWORD *_pdwStubPhase);
  21488.  
  21489.  
  21490. HRESULT STDMETHODCALLTYPE IDvdControl_RightButtonSelect_Proxy( 
  21491.     IDvdControl * This);
  21492.  
  21493.  
  21494. void __RPC_STUB IDvdControl_RightButtonSelect_Stub(
  21495.     IRpcStubBuffer *This,
  21496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21497.     PRPC_MESSAGE _pRpcMessage,
  21498.     DWORD *_pdwStubPhase);
  21499.  
  21500.  
  21501. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonActivate_Proxy( 
  21502.     IDvdControl * This);
  21503.  
  21504.  
  21505. void __RPC_STUB IDvdControl_ButtonActivate_Stub(
  21506.     IRpcStubBuffer *This,
  21507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21508.     PRPC_MESSAGE _pRpcMessage,
  21509.     DWORD *_pdwStubPhase);
  21510.  
  21511.  
  21512. HRESULT STDMETHODCALLTYPE IDvdControl_ButtonSelectAndActivate_Proxy( 
  21513.     IDvdControl * This,
  21514.     /* [in] */ ULONG ulButton);
  21515.  
  21516.  
  21517. void __RPC_STUB IDvdControl_ButtonSelectAndActivate_Stub(
  21518.     IRpcStubBuffer *This,
  21519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21520.     PRPC_MESSAGE _pRpcMessage,
  21521.     DWORD *_pdwStubPhase);
  21522.  
  21523.  
  21524. HRESULT STDMETHODCALLTYPE IDvdControl_StillOff_Proxy( 
  21525.     IDvdControl * This);
  21526.  
  21527.  
  21528. void __RPC_STUB IDvdControl_StillOff_Stub(
  21529.     IRpcStubBuffer *This,
  21530.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21531.     PRPC_MESSAGE _pRpcMessage,
  21532.     DWORD *_pdwStubPhase);
  21533.  
  21534.  
  21535. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOn_Proxy( 
  21536.     IDvdControl * This);
  21537.  
  21538.  
  21539. void __RPC_STUB IDvdControl_PauseOn_Stub(
  21540.     IRpcStubBuffer *This,
  21541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21542.     PRPC_MESSAGE _pRpcMessage,
  21543.     DWORD *_pdwStubPhase);
  21544.  
  21545.  
  21546. HRESULT STDMETHODCALLTYPE IDvdControl_PauseOff_Proxy( 
  21547.     IDvdControl * This);
  21548.  
  21549.  
  21550. void __RPC_STUB IDvdControl_PauseOff_Stub(
  21551.     IRpcStubBuffer *This,
  21552.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21553.     PRPC_MESSAGE _pRpcMessage,
  21554.     DWORD *_pdwStubPhase);
  21555.  
  21556.  
  21557. HRESULT STDMETHODCALLTYPE IDvdControl_MenuLanguageSelect_Proxy( 
  21558.     IDvdControl * This,
  21559.     /* [in] */ LCID Language);
  21560.  
  21561.  
  21562. void __RPC_STUB IDvdControl_MenuLanguageSelect_Stub(
  21563.     IRpcStubBuffer *This,
  21564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21565.     PRPC_MESSAGE _pRpcMessage,
  21566.     DWORD *_pdwStubPhase);
  21567.  
  21568.  
  21569. HRESULT STDMETHODCALLTYPE IDvdControl_AudioStreamChange_Proxy( 
  21570.     IDvdControl * This,
  21571.     /* [in] */ ULONG ulAudio);
  21572.  
  21573.  
  21574. void __RPC_STUB IDvdControl_AudioStreamChange_Stub(
  21575.     IRpcStubBuffer *This,
  21576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21577.     PRPC_MESSAGE _pRpcMessage,
  21578.     DWORD *_pdwStubPhase);
  21579.  
  21580.  
  21581. HRESULT STDMETHODCALLTYPE IDvdControl_SubpictureStreamChange_Proxy( 
  21582.     IDvdControl * This,
  21583.     /* [in] */ ULONG ulSubPicture,
  21584.     /* [in] */ BOOL bDisplay);
  21585.  
  21586.  
  21587. void __RPC_STUB IDvdControl_SubpictureStreamChange_Stub(
  21588.     IRpcStubBuffer *This,
  21589.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21590.     PRPC_MESSAGE _pRpcMessage,
  21591.     DWORD *_pdwStubPhase);
  21592.  
  21593.  
  21594. HRESULT STDMETHODCALLTYPE IDvdControl_AngleChange_Proxy( 
  21595.     IDvdControl * This,
  21596.     /* [in] */ ULONG ulAngle);
  21597.  
  21598.  
  21599. void __RPC_STUB IDvdControl_AngleChange_Stub(
  21600.     IRpcStubBuffer *This,
  21601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21602.     PRPC_MESSAGE _pRpcMessage,
  21603.     DWORD *_pdwStubPhase);
  21604.  
  21605.  
  21606. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalLevelSelect_Proxy( 
  21607.     IDvdControl * This,
  21608.     /* [in] */ ULONG ulParentalLevel);
  21609.  
  21610.  
  21611. void __RPC_STUB IDvdControl_ParentalLevelSelect_Stub(
  21612.     IRpcStubBuffer *This,
  21613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21614.     PRPC_MESSAGE _pRpcMessage,
  21615.     DWORD *_pdwStubPhase);
  21616.  
  21617.  
  21618. HRESULT STDMETHODCALLTYPE IDvdControl_ParentalCountrySelect_Proxy( 
  21619.     IDvdControl * This,
  21620.     /* [in] */ WORD wCountry);
  21621.  
  21622.  
  21623. void __RPC_STUB IDvdControl_ParentalCountrySelect_Stub(
  21624.     IRpcStubBuffer *This,
  21625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21626.     PRPC_MESSAGE _pRpcMessage,
  21627.     DWORD *_pdwStubPhase);
  21628.  
  21629.  
  21630. HRESULT STDMETHODCALLTYPE IDvdControl_KaraokeAudioPresentationModeChange_Proxy( 
  21631.     IDvdControl * This,
  21632.     /* [in] */ ULONG ulMode);
  21633.  
  21634.  
  21635. void __RPC_STUB IDvdControl_KaraokeAudioPresentationModeChange_Stub(
  21636.     IRpcStubBuffer *This,
  21637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21638.     PRPC_MESSAGE _pRpcMessage,
  21639.     DWORD *_pdwStubPhase);
  21640.  
  21641.  
  21642. HRESULT STDMETHODCALLTYPE IDvdControl_VideoModePreferrence_Proxy( 
  21643.     IDvdControl * This,
  21644.     /* [in] */ ULONG ulPreferredDisplayMode);
  21645.  
  21646.  
  21647. void __RPC_STUB IDvdControl_VideoModePreferrence_Stub(
  21648.     IRpcStubBuffer *This,
  21649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21650.     PRPC_MESSAGE _pRpcMessage,
  21651.     DWORD *_pdwStubPhase);
  21652.  
  21653.  
  21654. HRESULT STDMETHODCALLTYPE IDvdControl_SetRoot_Proxy( 
  21655.     IDvdControl * This,
  21656.     /* [in] */ LPCWSTR pszPath);
  21657.  
  21658.  
  21659. void __RPC_STUB IDvdControl_SetRoot_Stub(
  21660.     IRpcStubBuffer *This,
  21661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21662.     PRPC_MESSAGE _pRpcMessage,
  21663.     DWORD *_pdwStubPhase);
  21664.  
  21665.  
  21666. HRESULT STDMETHODCALLTYPE IDvdControl_MouseActivate_Proxy( 
  21667.     IDvdControl * This,
  21668.     /* [in] */ POINT point);
  21669.  
  21670.  
  21671. void __RPC_STUB IDvdControl_MouseActivate_Stub(
  21672.     IRpcStubBuffer *This,
  21673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21674.     PRPC_MESSAGE _pRpcMessage,
  21675.     DWORD *_pdwStubPhase);
  21676.  
  21677.  
  21678. HRESULT STDMETHODCALLTYPE IDvdControl_MouseSelect_Proxy( 
  21679.     IDvdControl * This,
  21680.     /* [in] */ POINT point);
  21681.  
  21682.  
  21683. void __RPC_STUB IDvdControl_MouseSelect_Stub(
  21684.     IRpcStubBuffer *This,
  21685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21686.     PRPC_MESSAGE _pRpcMessage,
  21687.     DWORD *_pdwStubPhase);
  21688.  
  21689.  
  21690. HRESULT STDMETHODCALLTYPE IDvdControl_ChapterPlayAutoStop_Proxy( 
  21691.     IDvdControl * This,
  21692.     /* [in] */ ULONG ulTitle,
  21693.     /* [in] */ ULONG ulChapter,
  21694.     /* [in] */ ULONG ulChaptersToPlay);
  21695.  
  21696.  
  21697. void __RPC_STUB IDvdControl_ChapterPlayAutoStop_Stub(
  21698.     IRpcStubBuffer *This,
  21699.     IRpcChannelBuffer *_pRpcChannelBuffer,
  21700.     PRPC_MESSAGE _pRpcMessage,
  21701.     DWORD *_pdwStubPhase);
  21702.  
  21703.  
  21704.  
  21705. #endif     /* __IDvdControl_INTERFACE_DEFINED__ */
  21706.  
  21707.  
  21708. #ifndef __IDvdInfo_INTERFACE_DEFINED__
  21709. #define __IDvdInfo_INTERFACE_DEFINED__
  21710.  
  21711. /* interface IDvdInfo */
  21712. /* [unique][uuid][object] */ 
  21713.  
  21714.  
  21715. EXTERN_C const IID IID_IDvdInfo;
  21716.  
  21717. #if defined(__cplusplus) && !defined(CINTERFACE)
  21718.     
  21719.     MIDL_INTERFACE("A70EFE60-E2A3-11d0-A9BE-00AA0061BE93")
  21720.     IDvdInfo : public IUnknown
  21721.     {
  21722.     public:
  21723.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  21724.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  21725.         
  21726.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  21727.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation) = 0;
  21728.         
  21729.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  21730.             /* [out] */ ULONG *pulTotalTime) = 0;
  21731.         
  21732.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  21733.             /* [out] */ ULONG *pulButtonsAvailable,
  21734.             /* [out] */ ULONG *pulCurrentButton) = 0;
  21735.         
  21736.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  21737.             /* [out] */ ULONG *pulAnglesAvailable,
  21738.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  21739.         
  21740.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  21741.             /* [out] */ ULONG *pulStreamsAvailable,
  21742.             /* [out] */ ULONG *pulCurrentStream) = 0;
  21743.         
  21744.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  21745.             /* [out] */ ULONG *pulStreamsAvailable,
  21746.             /* [out] */ ULONG *pulCurrentStream,
  21747.             /* [out] */ BOOL *pIsDisabled) = 0;
  21748.         
  21749.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  21750.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP) = 0;
  21751.         
  21752.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  21753.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  21754.         
  21755.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  21756.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  21757.         
  21758.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  21759.             /* [in] */ ULONG ulStream,
  21760.             /* [out] */ LCID *pLanguage) = 0;
  21761.         
  21762.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  21763.             /* [in] */ ULONG ulStream,
  21764.             /* [out] */ LCID *pLanguage) = 0;
  21765.         
  21766.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  21767.             /* [in] */ ULONG ulTitle,
  21768.             /* [out] */ DVD_ATR *pATR) = 0;
  21769.         
  21770.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  21771.             /* [out] */ DVD_ATR *pATR) = 0;
  21772.         
  21773.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  21774.             /* [out] */ DVD_VideoATR *pATR) = 0;
  21775.         
  21776.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudioAttributes( 
  21777.             /* [out] */ DVD_AudioATR *pATR) = 0;
  21778.         
  21779.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpictureAttributes( 
  21780.             /* [out] */ DVD_SubpictureATR *pATR) = 0;
  21781.         
  21782.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVolumeInfo( 
  21783.             /* [out] */ ULONG *pulNumOfVol,
  21784.             /* [out] */ ULONG *pulThisVolNum,
  21785.             /* [out] */ DVD_DISC_SIDE *pSide,
  21786.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  21787.         
  21788.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextInfo( 
  21789.             /* [size_is][out] */ BYTE *pTextManager,
  21790.             /* [in] */ ULONG ulBufSize,
  21791.             /* [out] */ ULONG *pulActualSize) = 0;
  21792.         
  21793.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  21794.             /* [out] */ ULONG *pulParentalLevel,
  21795.             /* [out] */ ULONG *pulCountryCode) = 0;
  21796.         
  21797.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  21798.             /* [in] */ ULONG ulTitle,
  21799.             /* [out] */ ULONG *pulNumberOfChapters) = 0;
  21800.         
  21801.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  21802.             /* [in] */ ULONG ulTitle,
  21803.             /* [out] */ ULONG *pulParentalLevels) = 0;
  21804.         
  21805.         virtual HRESULT STDMETHODCALLTYPE GetRoot( 
  21806.             /* [size_is][out] */ LPSTR pRoot,
  21807.             /* [in] */ ULONG ulBufSize,
  21808.             /* [out] */ ULONG *pulActualSize) = 0;
  21809.         
  21810.     };
  21811.     
  21812. #else     /* C style interface */
  21813.  
  21814.     typedef struct IDvdInfoVtbl
  21815.     {
  21816.         BEGIN_INTERFACE
  21817.         
  21818.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  21819.             IDvdInfo * This,
  21820.             /* [in] */ REFIID riid,
  21821.             /* [iid_is][out] */ void **ppvObject);
  21822.         
  21823.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  21824.             IDvdInfo * This);
  21825.         
  21826.         ULONG ( STDMETHODCALLTYPE *Release )( 
  21827.             IDvdInfo * This);
  21828.         
  21829.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  21830.             IDvdInfo * This,
  21831.             /* [out] */ DVD_DOMAIN *pDomain);
  21832.         
  21833.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  21834.             IDvdInfo * This,
  21835.             /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  21836.         
  21837.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  21838.             IDvdInfo * This,
  21839.             /* [out] */ ULONG *pulTotalTime);
  21840.         
  21841.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  21842.             IDvdInfo * This,
  21843.             /* [out] */ ULONG *pulButtonsAvailable,
  21844.             /* [out] */ ULONG *pulCurrentButton);
  21845.         
  21846.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  21847.             IDvdInfo * This,
  21848.             /* [out] */ ULONG *pulAnglesAvailable,
  21849.             /* [out] */ ULONG *pulCurrentAngle);
  21850.         
  21851.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  21852.             IDvdInfo * This,
  21853.             /* [out] */ ULONG *pulStreamsAvailable,
  21854.             /* [out] */ ULONG *pulCurrentStream);
  21855.         
  21856.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  21857.             IDvdInfo * This,
  21858.             /* [out] */ ULONG *pulStreamsAvailable,
  21859.             /* [out] */ ULONG *pulCurrentStream,
  21860.             /* [out] */ BOOL *pIsDisabled);
  21861.         
  21862.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  21863.             IDvdInfo * This,
  21864.             /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  21865.         
  21866.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  21867.             IDvdInfo * This,
  21868.             /* [out] */ SPRMARRAY *pRegisterArray);
  21869.         
  21870.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  21871.             IDvdInfo * This,
  21872.             /* [out] */ GPRMARRAY *pRegisterArray);
  21873.         
  21874.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  21875.             IDvdInfo * This,
  21876.             /* [in] */ ULONG ulStream,
  21877.             /* [out] */ LCID *pLanguage);
  21878.         
  21879.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  21880.             IDvdInfo * This,
  21881.             /* [in] */ ULONG ulStream,
  21882.             /* [out] */ LCID *pLanguage);
  21883.         
  21884.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  21885.             IDvdInfo * This,
  21886.             /* [in] */ ULONG ulTitle,
  21887.             /* [out] */ DVD_ATR *pATR);
  21888.         
  21889.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  21890.             IDvdInfo * This,
  21891.             /* [out] */ DVD_ATR *pATR);
  21892.         
  21893.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  21894.             IDvdInfo * This,
  21895.             /* [out] */ DVD_VideoATR *pATR);
  21896.         
  21897.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudioAttributes )( 
  21898.             IDvdInfo * This,
  21899.             /* [out] */ DVD_AudioATR *pATR);
  21900.         
  21901.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpictureAttributes )( 
  21902.             IDvdInfo * This,
  21903.             /* [out] */ DVD_SubpictureATR *pATR);
  21904.         
  21905.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVolumeInfo )( 
  21906.             IDvdInfo * This,
  21907.             /* [out] */ ULONG *pulNumOfVol,
  21908.             /* [out] */ ULONG *pulThisVolNum,
  21909.             /* [out] */ DVD_DISC_SIDE *pSide,
  21910.             /* [out] */ ULONG *pulNumOfTitles);
  21911.         
  21912.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextInfo )( 
  21913.             IDvdInfo * This,
  21914.             /* [size_is][out] */ BYTE *pTextManager,
  21915.             /* [in] */ ULONG ulBufSize,
  21916.             /* [out] */ ULONG *pulActualSize);
  21917.         
  21918.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  21919.             IDvdInfo * This,
  21920.             /* [out] */ ULONG *pulParentalLevel,
  21921.             /* [out] */ ULONG *pulCountryCode);
  21922.         
  21923.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  21924.             IDvdInfo * This,
  21925.             /* [in] */ ULONG ulTitle,
  21926.             /* [out] */ ULONG *pulNumberOfChapters);
  21927.         
  21928.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  21929.             IDvdInfo * This,
  21930.             /* [in] */ ULONG ulTitle,
  21931.             /* [out] */ ULONG *pulParentalLevels);
  21932.         
  21933.         HRESULT ( STDMETHODCALLTYPE *GetRoot )( 
  21934.             IDvdInfo * This,
  21935.             /* [size_is][out] */ LPSTR pRoot,
  21936.             /* [in] */ ULONG ulBufSize,
  21937.             /* [out] */ ULONG *pulActualSize);
  21938.         
  21939.         END_INTERFACE
  21940.     } IDvdInfoVtbl;
  21941.  
  21942.     interface IDvdInfo
  21943.     {
  21944.         CONST_VTBL struct IDvdInfoVtbl *lpVtbl;
  21945.     };
  21946.  
  21947.     
  21948.  
  21949. #ifdef COBJMACROS
  21950.  
  21951.  
  21952. #define IDvdInfo_QueryInterface(This,riid,ppvObject)    \
  21953.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  21954.  
  21955. #define IDvdInfo_AddRef(This)    \
  21956.     (This)->lpVtbl -> AddRef(This)
  21957.  
  21958. #define IDvdInfo_Release(This)    \
  21959.     (This)->lpVtbl -> Release(This)
  21960.  
  21961.  
  21962. #define IDvdInfo_GetCurrentDomain(This,pDomain)    \
  21963.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  21964.  
  21965. #define IDvdInfo_GetCurrentLocation(This,pLocation)    \
  21966.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  21967.  
  21968. #define IDvdInfo_GetTotalTitleTime(This,pulTotalTime)    \
  21969.     (This)->lpVtbl -> GetTotalTitleTime(This,pulTotalTime)
  21970.  
  21971. #define IDvdInfo_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  21972.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  21973.  
  21974. #define IDvdInfo_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  21975.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  21976.  
  21977. #define IDvdInfo_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  21978.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  21979.  
  21980. #define IDvdInfo_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)    \
  21981.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pIsDisabled)
  21982.  
  21983. #define IDvdInfo_GetCurrentUOPS(This,pUOP)    \
  21984.     (This)->lpVtbl -> GetCurrentUOPS(This,pUOP)
  21985.  
  21986. #define IDvdInfo_GetAllSPRMs(This,pRegisterArray)    \
  21987.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  21988.  
  21989. #define IDvdInfo_GetAllGPRMs(This,pRegisterArray)    \
  21990.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  21991.  
  21992. #define IDvdInfo_GetAudioLanguage(This,ulStream,pLanguage)    \
  21993.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  21994.  
  21995. #define IDvdInfo_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  21996.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  21997.  
  21998. #define IDvdInfo_GetTitleAttributes(This,ulTitle,pATR)    \
  21999.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pATR)
  22000.  
  22001. #define IDvdInfo_GetVMGAttributes(This,pATR)    \
  22002.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  22003.  
  22004. #define IDvdInfo_GetCurrentVideoAttributes(This,pATR)    \
  22005.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  22006.  
  22007. #define IDvdInfo_GetCurrentAudioAttributes(This,pATR)    \
  22008.     (This)->lpVtbl -> GetCurrentAudioAttributes(This,pATR)
  22009.  
  22010. #define IDvdInfo_GetCurrentSubpictureAttributes(This,pATR)    \
  22011.     (This)->lpVtbl -> GetCurrentSubpictureAttributes(This,pATR)
  22012.  
  22013. #define IDvdInfo_GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)    \
  22014.     (This)->lpVtbl -> GetCurrentVolumeInfo(This,pulNumOfVol,pulThisVolNum,pSide,pulNumOfTitles)
  22015.  
  22016. #define IDvdInfo_GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)    \
  22017.     (This)->lpVtbl -> GetDVDTextInfo(This,pTextManager,ulBufSize,pulActualSize)
  22018.  
  22019. #define IDvdInfo_GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)    \
  22020.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pulCountryCode)
  22021.  
  22022. #define IDvdInfo_GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)    \
  22023.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumberOfChapters)
  22024.  
  22025. #define IDvdInfo_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  22026.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  22027.  
  22028. #define IDvdInfo_GetRoot(This,pRoot,ulBufSize,pulActualSize)    \
  22029.     (This)->lpVtbl -> GetRoot(This,pRoot,ulBufSize,pulActualSize)
  22030.  
  22031. #endif /* COBJMACROS */
  22032.  
  22033.  
  22034. #endif     /* C style interface */
  22035.  
  22036.  
  22037.  
  22038. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentDomain_Proxy( 
  22039.     IDvdInfo * This,
  22040.     /* [out] */ DVD_DOMAIN *pDomain);
  22041.  
  22042.  
  22043. void __RPC_STUB IDvdInfo_GetCurrentDomain_Stub(
  22044.     IRpcStubBuffer *This,
  22045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22046.     PRPC_MESSAGE _pRpcMessage,
  22047.     DWORD *_pdwStubPhase);
  22048.  
  22049.  
  22050. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentLocation_Proxy( 
  22051.     IDvdInfo * This,
  22052.     /* [out] */ DVD_PLAYBACK_LOCATION *pLocation);
  22053.  
  22054.  
  22055. void __RPC_STUB IDvdInfo_GetCurrentLocation_Stub(
  22056.     IRpcStubBuffer *This,
  22057.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22058.     PRPC_MESSAGE _pRpcMessage,
  22059.     DWORD *_pdwStubPhase);
  22060.  
  22061.  
  22062. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTotalTitleTime_Proxy( 
  22063.     IDvdInfo * This,
  22064.     /* [out] */ ULONG *pulTotalTime);
  22065.  
  22066.  
  22067. void __RPC_STUB IDvdInfo_GetTotalTitleTime_Stub(
  22068.     IRpcStubBuffer *This,
  22069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22070.     PRPC_MESSAGE _pRpcMessage,
  22071.     DWORD *_pdwStubPhase);
  22072.  
  22073.  
  22074. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentButton_Proxy( 
  22075.     IDvdInfo * This,
  22076.     /* [out] */ ULONG *pulButtonsAvailable,
  22077.     /* [out] */ ULONG *pulCurrentButton);
  22078.  
  22079.  
  22080. void __RPC_STUB IDvdInfo_GetCurrentButton_Stub(
  22081.     IRpcStubBuffer *This,
  22082.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22083.     PRPC_MESSAGE _pRpcMessage,
  22084.     DWORD *_pdwStubPhase);
  22085.  
  22086.  
  22087. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAngle_Proxy( 
  22088.     IDvdInfo * This,
  22089.     /* [out] */ ULONG *pulAnglesAvailable,
  22090.     /* [out] */ ULONG *pulCurrentAngle);
  22091.  
  22092.  
  22093. void __RPC_STUB IDvdInfo_GetCurrentAngle_Stub(
  22094.     IRpcStubBuffer *This,
  22095.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22096.     PRPC_MESSAGE _pRpcMessage,
  22097.     DWORD *_pdwStubPhase);
  22098.  
  22099.  
  22100. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudio_Proxy( 
  22101.     IDvdInfo * This,
  22102.     /* [out] */ ULONG *pulStreamsAvailable,
  22103.     /* [out] */ ULONG *pulCurrentStream);
  22104.  
  22105.  
  22106. void __RPC_STUB IDvdInfo_GetCurrentAudio_Stub(
  22107.     IRpcStubBuffer *This,
  22108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22109.     PRPC_MESSAGE _pRpcMessage,
  22110.     DWORD *_pdwStubPhase);
  22111.  
  22112.  
  22113. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpicture_Proxy( 
  22114.     IDvdInfo * This,
  22115.     /* [out] */ ULONG *pulStreamsAvailable,
  22116.     /* [out] */ ULONG *pulCurrentStream,
  22117.     /* [out] */ BOOL *pIsDisabled);
  22118.  
  22119.  
  22120. void __RPC_STUB IDvdInfo_GetCurrentSubpicture_Stub(
  22121.     IRpcStubBuffer *This,
  22122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22123.     PRPC_MESSAGE _pRpcMessage,
  22124.     DWORD *_pdwStubPhase);
  22125.  
  22126.  
  22127. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentUOPS_Proxy( 
  22128.     IDvdInfo * This,
  22129.     /* [out] */ VALID_UOP_SOMTHING_OR_OTHER *pUOP);
  22130.  
  22131.  
  22132. void __RPC_STUB IDvdInfo_GetCurrentUOPS_Stub(
  22133.     IRpcStubBuffer *This,
  22134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22135.     PRPC_MESSAGE _pRpcMessage,
  22136.     DWORD *_pdwStubPhase);
  22137.  
  22138.  
  22139. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllSPRMs_Proxy( 
  22140.     IDvdInfo * This,
  22141.     /* [out] */ SPRMARRAY *pRegisterArray);
  22142.  
  22143.  
  22144. void __RPC_STUB IDvdInfo_GetAllSPRMs_Stub(
  22145.     IRpcStubBuffer *This,
  22146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22147.     PRPC_MESSAGE _pRpcMessage,
  22148.     DWORD *_pdwStubPhase);
  22149.  
  22150.  
  22151. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAllGPRMs_Proxy( 
  22152.     IDvdInfo * This,
  22153.     /* [out] */ GPRMARRAY *pRegisterArray);
  22154.  
  22155.  
  22156. void __RPC_STUB IDvdInfo_GetAllGPRMs_Stub(
  22157.     IRpcStubBuffer *This,
  22158.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22159.     PRPC_MESSAGE _pRpcMessage,
  22160.     DWORD *_pdwStubPhase);
  22161.  
  22162.  
  22163. HRESULT STDMETHODCALLTYPE IDvdInfo_GetAudioLanguage_Proxy( 
  22164.     IDvdInfo * This,
  22165.     /* [in] */ ULONG ulStream,
  22166.     /* [out] */ LCID *pLanguage);
  22167.  
  22168.  
  22169. void __RPC_STUB IDvdInfo_GetAudioLanguage_Stub(
  22170.     IRpcStubBuffer *This,
  22171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22172.     PRPC_MESSAGE _pRpcMessage,
  22173.     DWORD *_pdwStubPhase);
  22174.  
  22175.  
  22176. HRESULT STDMETHODCALLTYPE IDvdInfo_GetSubpictureLanguage_Proxy( 
  22177.     IDvdInfo * This,
  22178.     /* [in] */ ULONG ulStream,
  22179.     /* [out] */ LCID *pLanguage);
  22180.  
  22181.  
  22182. void __RPC_STUB IDvdInfo_GetSubpictureLanguage_Stub(
  22183.     IRpcStubBuffer *This,
  22184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22185.     PRPC_MESSAGE _pRpcMessage,
  22186.     DWORD *_pdwStubPhase);
  22187.  
  22188.  
  22189. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleAttributes_Proxy( 
  22190.     IDvdInfo * This,
  22191.     /* [in] */ ULONG ulTitle,
  22192.     /* [out] */ DVD_ATR *pATR);
  22193.  
  22194.  
  22195. void __RPC_STUB IDvdInfo_GetTitleAttributes_Stub(
  22196.     IRpcStubBuffer *This,
  22197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22198.     PRPC_MESSAGE _pRpcMessage,
  22199.     DWORD *_pdwStubPhase);
  22200.  
  22201.  
  22202. HRESULT STDMETHODCALLTYPE IDvdInfo_GetVMGAttributes_Proxy( 
  22203.     IDvdInfo * This,
  22204.     /* [out] */ DVD_ATR *pATR);
  22205.  
  22206.  
  22207. void __RPC_STUB IDvdInfo_GetVMGAttributes_Stub(
  22208.     IRpcStubBuffer *This,
  22209.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22210.     PRPC_MESSAGE _pRpcMessage,
  22211.     DWORD *_pdwStubPhase);
  22212.  
  22213.  
  22214. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVideoAttributes_Proxy( 
  22215.     IDvdInfo * This,
  22216.     /* [out] */ DVD_VideoATR *pATR);
  22217.  
  22218.  
  22219. void __RPC_STUB IDvdInfo_GetCurrentVideoAttributes_Stub(
  22220.     IRpcStubBuffer *This,
  22221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22222.     PRPC_MESSAGE _pRpcMessage,
  22223.     DWORD *_pdwStubPhase);
  22224.  
  22225.  
  22226. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentAudioAttributes_Proxy( 
  22227.     IDvdInfo * This,
  22228.     /* [out] */ DVD_AudioATR *pATR);
  22229.  
  22230.  
  22231. void __RPC_STUB IDvdInfo_GetCurrentAudioAttributes_Stub(
  22232.     IRpcStubBuffer *This,
  22233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22234.     PRPC_MESSAGE _pRpcMessage,
  22235.     DWORD *_pdwStubPhase);
  22236.  
  22237.  
  22238. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentSubpictureAttributes_Proxy( 
  22239.     IDvdInfo * This,
  22240.     /* [out] */ DVD_SubpictureATR *pATR);
  22241.  
  22242.  
  22243. void __RPC_STUB IDvdInfo_GetCurrentSubpictureAttributes_Stub(
  22244.     IRpcStubBuffer *This,
  22245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22246.     PRPC_MESSAGE _pRpcMessage,
  22247.     DWORD *_pdwStubPhase);
  22248.  
  22249.  
  22250. HRESULT STDMETHODCALLTYPE IDvdInfo_GetCurrentVolumeInfo_Proxy( 
  22251.     IDvdInfo * This,
  22252.     /* [out] */ ULONG *pulNumOfVol,
  22253.     /* [out] */ ULONG *pulThisVolNum,
  22254.     /* [out] */ DVD_DISC_SIDE *pSide,
  22255.     /* [out] */ ULONG *pulNumOfTitles);
  22256.  
  22257.  
  22258. void __RPC_STUB IDvdInfo_GetCurrentVolumeInfo_Stub(
  22259.     IRpcStubBuffer *This,
  22260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22261.     PRPC_MESSAGE _pRpcMessage,
  22262.     DWORD *_pdwStubPhase);
  22263.  
  22264.  
  22265. HRESULT STDMETHODCALLTYPE IDvdInfo_GetDVDTextInfo_Proxy( 
  22266.     IDvdInfo * This,
  22267.     /* [size_is][out] */ BYTE *pTextManager,
  22268.     /* [in] */ ULONG ulBufSize,
  22269.     /* [out] */ ULONG *pulActualSize);
  22270.  
  22271.  
  22272. void __RPC_STUB IDvdInfo_GetDVDTextInfo_Stub(
  22273.     IRpcStubBuffer *This,
  22274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22275.     PRPC_MESSAGE _pRpcMessage,
  22276.     DWORD *_pdwStubPhase);
  22277.  
  22278.  
  22279. HRESULT STDMETHODCALLTYPE IDvdInfo_GetPlayerParentalLevel_Proxy( 
  22280.     IDvdInfo * This,
  22281.     /* [out] */ ULONG *pulParentalLevel,
  22282.     /* [out] */ ULONG *pulCountryCode);
  22283.  
  22284.  
  22285. void __RPC_STUB IDvdInfo_GetPlayerParentalLevel_Stub(
  22286.     IRpcStubBuffer *This,
  22287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22288.     PRPC_MESSAGE _pRpcMessage,
  22289.     DWORD *_pdwStubPhase);
  22290.  
  22291.  
  22292. HRESULT STDMETHODCALLTYPE IDvdInfo_GetNumberOfChapters_Proxy( 
  22293.     IDvdInfo * This,
  22294.     /* [in] */ ULONG ulTitle,
  22295.     /* [out] */ ULONG *pulNumberOfChapters);
  22296.  
  22297.  
  22298. void __RPC_STUB IDvdInfo_GetNumberOfChapters_Stub(
  22299.     IRpcStubBuffer *This,
  22300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22301.     PRPC_MESSAGE _pRpcMessage,
  22302.     DWORD *_pdwStubPhase);
  22303.  
  22304.  
  22305. HRESULT STDMETHODCALLTYPE IDvdInfo_GetTitleParentalLevels_Proxy( 
  22306.     IDvdInfo * This,
  22307.     /* [in] */ ULONG ulTitle,
  22308.     /* [out] */ ULONG *pulParentalLevels);
  22309.  
  22310.  
  22311. void __RPC_STUB IDvdInfo_GetTitleParentalLevels_Stub(
  22312.     IRpcStubBuffer *This,
  22313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22314.     PRPC_MESSAGE _pRpcMessage,
  22315.     DWORD *_pdwStubPhase);
  22316.  
  22317.  
  22318. HRESULT STDMETHODCALLTYPE IDvdInfo_GetRoot_Proxy( 
  22319.     IDvdInfo * This,
  22320.     /* [size_is][out] */ LPSTR pRoot,
  22321.     /* [in] */ ULONG ulBufSize,
  22322.     /* [out] */ ULONG *pulActualSize);
  22323.  
  22324.  
  22325. void __RPC_STUB IDvdInfo_GetRoot_Stub(
  22326.     IRpcStubBuffer *This,
  22327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22328.     PRPC_MESSAGE _pRpcMessage,
  22329.     DWORD *_pdwStubPhase);
  22330.  
  22331.  
  22332.  
  22333. #endif     /* __IDvdInfo_INTERFACE_DEFINED__ */
  22334.  
  22335.  
  22336. #ifndef __IDvdCmd_INTERFACE_DEFINED__
  22337. #define __IDvdCmd_INTERFACE_DEFINED__
  22338.  
  22339. /* interface IDvdCmd */
  22340. /* [unique][uuid][object] */ 
  22341.  
  22342.  
  22343. EXTERN_C const IID IID_IDvdCmd;
  22344.  
  22345. #if defined(__cplusplus) && !defined(CINTERFACE)
  22346.     
  22347.     MIDL_INTERFACE("5a4a97e4-94ee-4a55-9751-74b5643aa27d")
  22348.     IDvdCmd : public IUnknown
  22349.     {
  22350.     public:
  22351.         virtual HRESULT STDMETHODCALLTYPE WaitForStart( void) = 0;
  22352.         
  22353.         virtual HRESULT STDMETHODCALLTYPE WaitForEnd( void) = 0;
  22354.         
  22355.     };
  22356.     
  22357. #else     /* C style interface */
  22358.  
  22359.     typedef struct IDvdCmdVtbl
  22360.     {
  22361.         BEGIN_INTERFACE
  22362.         
  22363.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22364.             IDvdCmd * This,
  22365.             /* [in] */ REFIID riid,
  22366.             /* [iid_is][out] */ void **ppvObject);
  22367.         
  22368.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22369.             IDvdCmd * This);
  22370.         
  22371.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22372.             IDvdCmd * This);
  22373.         
  22374.         HRESULT ( STDMETHODCALLTYPE *WaitForStart )( 
  22375.             IDvdCmd * This);
  22376.         
  22377.         HRESULT ( STDMETHODCALLTYPE *WaitForEnd )( 
  22378.             IDvdCmd * This);
  22379.         
  22380.         END_INTERFACE
  22381.     } IDvdCmdVtbl;
  22382.  
  22383.     interface IDvdCmd
  22384.     {
  22385.         CONST_VTBL struct IDvdCmdVtbl *lpVtbl;
  22386.     };
  22387.  
  22388.     
  22389.  
  22390. #ifdef COBJMACROS
  22391.  
  22392.  
  22393. #define IDvdCmd_QueryInterface(This,riid,ppvObject)    \
  22394.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22395.  
  22396. #define IDvdCmd_AddRef(This)    \
  22397.     (This)->lpVtbl -> AddRef(This)
  22398.  
  22399. #define IDvdCmd_Release(This)    \
  22400.     (This)->lpVtbl -> Release(This)
  22401.  
  22402.  
  22403. #define IDvdCmd_WaitForStart(This)    \
  22404.     (This)->lpVtbl -> WaitForStart(This)
  22405.  
  22406. #define IDvdCmd_WaitForEnd(This)    \
  22407.     (This)->lpVtbl -> WaitForEnd(This)
  22408.  
  22409. #endif /* COBJMACROS */
  22410.  
  22411.  
  22412. #endif     /* C style interface */
  22413.  
  22414.  
  22415.  
  22416. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForStart_Proxy( 
  22417.     IDvdCmd * This);
  22418.  
  22419.  
  22420. void __RPC_STUB IDvdCmd_WaitForStart_Stub(
  22421.     IRpcStubBuffer *This,
  22422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22423.     PRPC_MESSAGE _pRpcMessage,
  22424.     DWORD *_pdwStubPhase);
  22425.  
  22426.  
  22427. HRESULT STDMETHODCALLTYPE IDvdCmd_WaitForEnd_Proxy( 
  22428.     IDvdCmd * This);
  22429.  
  22430.  
  22431. void __RPC_STUB IDvdCmd_WaitForEnd_Stub(
  22432.     IRpcStubBuffer *This,
  22433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22434.     PRPC_MESSAGE _pRpcMessage,
  22435.     DWORD *_pdwStubPhase);
  22436.  
  22437.  
  22438.  
  22439. #endif     /* __IDvdCmd_INTERFACE_DEFINED__ */
  22440.  
  22441.  
  22442. #ifndef __IDvdState_INTERFACE_DEFINED__
  22443. #define __IDvdState_INTERFACE_DEFINED__
  22444.  
  22445. /* interface IDvdState */
  22446. /* [unique][uuid][object] */ 
  22447.  
  22448.  
  22449. EXTERN_C const IID IID_IDvdState;
  22450.  
  22451. #if defined(__cplusplus) && !defined(CINTERFACE)
  22452.     
  22453.     MIDL_INTERFACE("86303d6d-1c4a-4087-ab42-f711167048ef")
  22454.     IDvdState : public IUnknown
  22455.     {
  22456.     public:
  22457.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  22458.             /* [out] */ ULONGLONG *pullUniqueID) = 0;
  22459.         
  22460.         virtual HRESULT STDMETHODCALLTYPE GetParentalLevel( 
  22461.             /* [out] */ ULONG *pulParentalLevel) = 0;
  22462.         
  22463.     };
  22464.     
  22465. #else     /* C style interface */
  22466.  
  22467.     typedef struct IDvdStateVtbl
  22468.     {
  22469.         BEGIN_INTERFACE
  22470.         
  22471.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22472.             IDvdState * This,
  22473.             /* [in] */ REFIID riid,
  22474.             /* [iid_is][out] */ void **ppvObject);
  22475.         
  22476.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22477.             IDvdState * This);
  22478.         
  22479.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22480.             IDvdState * This);
  22481.         
  22482.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  22483.             IDvdState * This,
  22484.             /* [out] */ ULONGLONG *pullUniqueID);
  22485.         
  22486.         HRESULT ( STDMETHODCALLTYPE *GetParentalLevel )( 
  22487.             IDvdState * This,
  22488.             /* [out] */ ULONG *pulParentalLevel);
  22489.         
  22490.         END_INTERFACE
  22491.     } IDvdStateVtbl;
  22492.  
  22493.     interface IDvdState
  22494.     {
  22495.         CONST_VTBL struct IDvdStateVtbl *lpVtbl;
  22496.     };
  22497.  
  22498.     
  22499.  
  22500. #ifdef COBJMACROS
  22501.  
  22502.  
  22503. #define IDvdState_QueryInterface(This,riid,ppvObject)    \
  22504.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22505.  
  22506. #define IDvdState_AddRef(This)    \
  22507.     (This)->lpVtbl -> AddRef(This)
  22508.  
  22509. #define IDvdState_Release(This)    \
  22510.     (This)->lpVtbl -> Release(This)
  22511.  
  22512.  
  22513. #define IDvdState_GetDiscID(This,pullUniqueID)    \
  22514.     (This)->lpVtbl -> GetDiscID(This,pullUniqueID)
  22515.  
  22516. #define IDvdState_GetParentalLevel(This,pulParentalLevel)    \
  22517.     (This)->lpVtbl -> GetParentalLevel(This,pulParentalLevel)
  22518.  
  22519. #endif /* COBJMACROS */
  22520.  
  22521.  
  22522. #endif     /* C style interface */
  22523.  
  22524.  
  22525.  
  22526. HRESULT STDMETHODCALLTYPE IDvdState_GetDiscID_Proxy( 
  22527.     IDvdState * This,
  22528.     /* [out] */ ULONGLONG *pullUniqueID);
  22529.  
  22530.  
  22531. void __RPC_STUB IDvdState_GetDiscID_Stub(
  22532.     IRpcStubBuffer *This,
  22533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22534.     PRPC_MESSAGE _pRpcMessage,
  22535.     DWORD *_pdwStubPhase);
  22536.  
  22537.  
  22538. HRESULT STDMETHODCALLTYPE IDvdState_GetParentalLevel_Proxy( 
  22539.     IDvdState * This,
  22540.     /* [out] */ ULONG *pulParentalLevel);
  22541.  
  22542.  
  22543. void __RPC_STUB IDvdState_GetParentalLevel_Stub(
  22544.     IRpcStubBuffer *This,
  22545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  22546.     PRPC_MESSAGE _pRpcMessage,
  22547.     DWORD *_pdwStubPhase);
  22548.  
  22549.  
  22550.  
  22551. #endif     /* __IDvdState_INTERFACE_DEFINED__ */
  22552.  
  22553.  
  22554. #ifndef __IDvdControl2_INTERFACE_DEFINED__
  22555. #define __IDvdControl2_INTERFACE_DEFINED__
  22556.  
  22557. /* interface IDvdControl2 */
  22558. /* [unique][uuid][object] */ 
  22559.  
  22560.  
  22561. EXTERN_C const IID IID_IDvdControl2;
  22562.  
  22563. #if defined(__cplusplus) && !defined(CINTERFACE)
  22564.     
  22565.     MIDL_INTERFACE("33BC7430-EEC0-11D2-8201-00A0C9D74842")
  22566.     IDvdControl2 : public IUnknown
  22567.     {
  22568.     public:
  22569.         virtual HRESULT STDMETHODCALLTYPE PlayTitle( 
  22570.             /* [in] */ ULONG ulTitle,
  22571.             /* [in] */ DWORD dwFlags,
  22572.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22573.         
  22574.         virtual HRESULT STDMETHODCALLTYPE PlayChapterInTitle( 
  22575.             /* [in] */ ULONG ulTitle,
  22576.             /* [in] */ ULONG ulChapter,
  22577.             /* [in] */ DWORD dwFlags,
  22578.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22579.         
  22580.         virtual HRESULT STDMETHODCALLTYPE PlayAtTimeInTitle( 
  22581.             /* [in] */ ULONG ulTitle,
  22582.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  22583.             /* [in] */ DWORD dwFlags,
  22584.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22585.         
  22586.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  22587.         
  22588.         virtual HRESULT STDMETHODCALLTYPE ReturnFromSubmenu( 
  22589.             /* [in] */ DWORD dwFlags,
  22590.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22591.         
  22592.         virtual HRESULT STDMETHODCALLTYPE PlayAtTime( 
  22593.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  22594.             /* [in] */ DWORD dwFlags,
  22595.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22596.         
  22597.         virtual HRESULT STDMETHODCALLTYPE PlayChapter( 
  22598.             /* [in] */ ULONG ulChapter,
  22599.             /* [in] */ DWORD dwFlags,
  22600.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22601.         
  22602.         virtual HRESULT STDMETHODCALLTYPE PlayPrevChapter( 
  22603.             /* [in] */ DWORD dwFlags,
  22604.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22605.         
  22606.         virtual HRESULT STDMETHODCALLTYPE ReplayChapter( 
  22607.             /* [in] */ DWORD dwFlags,
  22608.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22609.         
  22610.         virtual HRESULT STDMETHODCALLTYPE PlayNextChapter( 
  22611.             /* [in] */ DWORD dwFlags,
  22612.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22613.         
  22614.         virtual HRESULT STDMETHODCALLTYPE PlayForwards( 
  22615.             /* [in] */ double dSpeed,
  22616.             /* [in] */ DWORD dwFlags,
  22617.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22618.         
  22619.         virtual HRESULT STDMETHODCALLTYPE PlayBackwards( 
  22620.             /* [in] */ double dSpeed,
  22621.             /* [in] */ DWORD dwFlags,
  22622.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22623.         
  22624.         virtual HRESULT STDMETHODCALLTYPE ShowMenu( 
  22625.             /* [in] */ DVD_MENU_ID MenuID,
  22626.             /* [in] */ DWORD dwFlags,
  22627.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22628.         
  22629.         virtual HRESULT STDMETHODCALLTYPE Resume( 
  22630.             /* [in] */ DWORD dwFlags,
  22631.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22632.         
  22633.         virtual HRESULT STDMETHODCALLTYPE SelectRelativeButton( 
  22634.             DVD_RELATIVE_BUTTON buttonDir) = 0;
  22635.         
  22636.         virtual HRESULT STDMETHODCALLTYPE ActivateButton( void) = 0;
  22637.         
  22638.         virtual HRESULT STDMETHODCALLTYPE SelectButton( 
  22639.             /* [in] */ ULONG ulButton) = 0;
  22640.         
  22641.         virtual HRESULT STDMETHODCALLTYPE SelectAndActivateButton( 
  22642.             /* [in] */ ULONG ulButton) = 0;
  22643.         
  22644.         virtual HRESULT STDMETHODCALLTYPE StillOff( void) = 0;
  22645.         
  22646.         virtual HRESULT STDMETHODCALLTYPE Pause( 
  22647.             /* [in] */ BOOL bState) = 0;
  22648.         
  22649.         virtual HRESULT STDMETHODCALLTYPE SelectAudioStream( 
  22650.             /* [in] */ ULONG ulAudio,
  22651.             /* [in] */ DWORD dwFlags,
  22652.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22653.         
  22654.         virtual HRESULT STDMETHODCALLTYPE SelectSubpictureStream( 
  22655.             /* [in] */ ULONG ulSubPicture,
  22656.             /* [in] */ DWORD dwFlags,
  22657.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22658.         
  22659.         virtual HRESULT STDMETHODCALLTYPE SetSubpictureState( 
  22660.             /* [in] */ BOOL bState,
  22661.             /* [in] */ DWORD dwFlags,
  22662.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22663.         
  22664.         virtual HRESULT STDMETHODCALLTYPE SelectAngle( 
  22665.             /* [in] */ ULONG ulAngle,
  22666.             /* [in] */ DWORD dwFlags,
  22667.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22668.         
  22669.         virtual HRESULT STDMETHODCALLTYPE SelectParentalLevel( 
  22670.             /* [in] */ ULONG ulParentalLevel) = 0;
  22671.         
  22672.         virtual HRESULT STDMETHODCALLTYPE SelectParentalCountry( 
  22673.             /* [in] */ BYTE bCountry[ 2 ]) = 0;
  22674.         
  22675.         virtual HRESULT STDMETHODCALLTYPE SelectKaraokeAudioPresentationMode( 
  22676.             /* [in] */ ULONG ulMode) = 0;
  22677.         
  22678.         virtual HRESULT STDMETHODCALLTYPE SelectVideoModePreference( 
  22679.             /* [in] */ ULONG ulPreferredDisplayMode) = 0;
  22680.         
  22681.         virtual HRESULT STDMETHODCALLTYPE SetDVDDirectory( 
  22682.             /* [in] */ LPCWSTR pszwPath) = 0;
  22683.         
  22684.         virtual HRESULT STDMETHODCALLTYPE ActivateAtPosition( 
  22685.             /* [in] */ POINT point) = 0;
  22686.         
  22687.         virtual HRESULT STDMETHODCALLTYPE SelectAtPosition( 
  22688.             /* [in] */ POINT point) = 0;
  22689.         
  22690.         virtual HRESULT STDMETHODCALLTYPE PlayChaptersAutoStop( 
  22691.             /* [in] */ ULONG ulTitle,
  22692.             /* [in] */ ULONG ulChapter,
  22693.             /* [in] */ ULONG ulChaptersToPlay,
  22694.             /* [in] */ DWORD dwFlags,
  22695.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22696.         
  22697.         virtual HRESULT STDMETHODCALLTYPE AcceptParentalLevelChange( 
  22698.             /* [in] */ BOOL bAccept) = 0;
  22699.         
  22700.         virtual HRESULT STDMETHODCALLTYPE SetOption( 
  22701.             /* [in] */ DVD_OPTION_FLAG flag,
  22702.             /* [in] */ BOOL fState) = 0;
  22703.         
  22704.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  22705.             /* [in] */ IDvdState *pState,
  22706.             /* [in] */ DWORD dwFlags,
  22707.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22708.         
  22709.         virtual HRESULT STDMETHODCALLTYPE PlayPeriodInTitleAutoStop( 
  22710.             /* [in] */ ULONG ulTitle,
  22711.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  22712.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  22713.             /* [in] */ DWORD dwFlags,
  22714.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22715.         
  22716.         virtual HRESULT STDMETHODCALLTYPE SetGPRM( 
  22717.             /* [in] */ ULONG ulIndex,
  22718.             /* [in] */ WORD wValue,
  22719.             /* [in] */ DWORD dwFlags,
  22720.             /* [out] */ IDvdCmd **ppCmd) = 0;
  22721.         
  22722.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultMenuLanguage( 
  22723.             /* [in] */ LCID Language) = 0;
  22724.         
  22725.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultAudioLanguage( 
  22726.             /* [in] */ LCID Language,
  22727.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension) = 0;
  22728.         
  22729.         virtual HRESULT STDMETHODCALLTYPE SelectDefaultSubpictureLanguage( 
  22730.             /* [in] */ LCID Language,
  22731.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension) = 0;
  22732.         
  22733.     };
  22734.     
  22735. #else     /* C style interface */
  22736.  
  22737.     typedef struct IDvdControl2Vtbl
  22738.     {
  22739.         BEGIN_INTERFACE
  22740.         
  22741.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  22742.             IDvdControl2 * This,
  22743.             /* [in] */ REFIID riid,
  22744.             /* [iid_is][out] */ void **ppvObject);
  22745.         
  22746.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  22747.             IDvdControl2 * This);
  22748.         
  22749.         ULONG ( STDMETHODCALLTYPE *Release )( 
  22750.             IDvdControl2 * This);
  22751.         
  22752.         HRESULT ( STDMETHODCALLTYPE *PlayTitle )( 
  22753.             IDvdControl2 * This,
  22754.             /* [in] */ ULONG ulTitle,
  22755.             /* [in] */ DWORD dwFlags,
  22756.             /* [out] */ IDvdCmd **ppCmd);
  22757.         
  22758.         HRESULT ( STDMETHODCALLTYPE *PlayChapterInTitle )( 
  22759.             IDvdControl2 * This,
  22760.             /* [in] */ ULONG ulTitle,
  22761.             /* [in] */ ULONG ulChapter,
  22762.             /* [in] */ DWORD dwFlags,
  22763.             /* [out] */ IDvdCmd **ppCmd);
  22764.         
  22765.         HRESULT ( STDMETHODCALLTYPE *PlayAtTimeInTitle )( 
  22766.             IDvdControl2 * This,
  22767.             /* [in] */ ULONG ulTitle,
  22768.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  22769.             /* [in] */ DWORD dwFlags,
  22770.             /* [out] */ IDvdCmd **ppCmd);
  22771.         
  22772.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  22773.             IDvdControl2 * This);
  22774.         
  22775.         HRESULT ( STDMETHODCALLTYPE *ReturnFromSubmenu )( 
  22776.             IDvdControl2 * This,
  22777.             /* [in] */ DWORD dwFlags,
  22778.             /* [out] */ IDvdCmd **ppCmd);
  22779.         
  22780.         HRESULT ( STDMETHODCALLTYPE *PlayAtTime )( 
  22781.             IDvdControl2 * This,
  22782.             /* [in] */ DVD_HMSF_TIMECODE *pTime,
  22783.             /* [in] */ DWORD dwFlags,
  22784.             /* [out] */ IDvdCmd **ppCmd);
  22785.         
  22786.         HRESULT ( STDMETHODCALLTYPE *PlayChapter )( 
  22787.             IDvdControl2 * This,
  22788.             /* [in] */ ULONG ulChapter,
  22789.             /* [in] */ DWORD dwFlags,
  22790.             /* [out] */ IDvdCmd **ppCmd);
  22791.         
  22792.         HRESULT ( STDMETHODCALLTYPE *PlayPrevChapter )( 
  22793.             IDvdControl2 * This,
  22794.             /* [in] */ DWORD dwFlags,
  22795.             /* [out] */ IDvdCmd **ppCmd);
  22796.         
  22797.         HRESULT ( STDMETHODCALLTYPE *ReplayChapter )( 
  22798.             IDvdControl2 * This,
  22799.             /* [in] */ DWORD dwFlags,
  22800.             /* [out] */ IDvdCmd **ppCmd);
  22801.         
  22802.         HRESULT ( STDMETHODCALLTYPE *PlayNextChapter )( 
  22803.             IDvdControl2 * This,
  22804.             /* [in] */ DWORD dwFlags,
  22805.             /* [out] */ IDvdCmd **ppCmd);
  22806.         
  22807.         HRESULT ( STDMETHODCALLTYPE *PlayForwards )( 
  22808.             IDvdControl2 * This,
  22809.             /* [in] */ double dSpeed,
  22810.             /* [in] */ DWORD dwFlags,
  22811.             /* [out] */ IDvdCmd **ppCmd);
  22812.         
  22813.         HRESULT ( STDMETHODCALLTYPE *PlayBackwards )( 
  22814.             IDvdControl2 * This,
  22815.             /* [in] */ double dSpeed,
  22816.             /* [in] */ DWORD dwFlags,
  22817.             /* [out] */ IDvdCmd **ppCmd);
  22818.         
  22819.         HRESULT ( STDMETHODCALLTYPE *ShowMenu )( 
  22820.             IDvdControl2 * This,
  22821.             /* [in] */ DVD_MENU_ID MenuID,
  22822.             /* [in] */ DWORD dwFlags,
  22823.             /* [out] */ IDvdCmd **ppCmd);
  22824.         
  22825.         HRESULT ( STDMETHODCALLTYPE *Resume )( 
  22826.             IDvdControl2 * This,
  22827.             /* [in] */ DWORD dwFlags,
  22828.             /* [out] */ IDvdCmd **ppCmd);
  22829.         
  22830.         HRESULT ( STDMETHODCALLTYPE *SelectRelativeButton )( 
  22831.             IDvdControl2 * This,
  22832.             DVD_RELATIVE_BUTTON buttonDir);
  22833.         
  22834.         HRESULT ( STDMETHODCALLTYPE *ActivateButton )( 
  22835.             IDvdControl2 * This);
  22836.         
  22837.         HRESULT ( STDMETHODCALLTYPE *SelectButton )( 
  22838.             IDvdControl2 * This,
  22839.             /* [in] */ ULONG ulButton);
  22840.         
  22841.         HRESULT ( STDMETHODCALLTYPE *SelectAndActivateButton )( 
  22842.             IDvdControl2 * This,
  22843.             /* [in] */ ULONG ulButton);
  22844.         
  22845.         HRESULT ( STDMETHODCALLTYPE *StillOff )( 
  22846.             IDvdControl2 * This);
  22847.         
  22848.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  22849.             IDvdControl2 * This,
  22850.             /* [in] */ BOOL bState);
  22851.         
  22852.         HRESULT ( STDMETHODCALLTYPE *SelectAudioStream )( 
  22853.             IDvdControl2 * This,
  22854.             /* [in] */ ULONG ulAudio,
  22855.             /* [in] */ DWORD dwFlags,
  22856.             /* [out] */ IDvdCmd **ppCmd);
  22857.         
  22858.         HRESULT ( STDMETHODCALLTYPE *SelectSubpictureStream )( 
  22859.             IDvdControl2 * This,
  22860.             /* [in] */ ULONG ulSubPicture,
  22861.             /* [in] */ DWORD dwFlags,
  22862.             /* [out] */ IDvdCmd **ppCmd);
  22863.         
  22864.         HRESULT ( STDMETHODCALLTYPE *SetSubpictureState )( 
  22865.             IDvdControl2 * This,
  22866.             /* [in] */ BOOL bState,
  22867.             /* [in] */ DWORD dwFlags,
  22868.             /* [out] */ IDvdCmd **ppCmd);
  22869.         
  22870.         HRESULT ( STDMETHODCALLTYPE *SelectAngle )( 
  22871.             IDvdControl2 * This,
  22872.             /* [in] */ ULONG ulAngle,
  22873.             /* [in] */ DWORD dwFlags,
  22874.             /* [out] */ IDvdCmd **ppCmd);
  22875.         
  22876.         HRESULT ( STDMETHODCALLTYPE *SelectParentalLevel )( 
  22877.             IDvdControl2 * This,
  22878.             /* [in] */ ULONG ulParentalLevel);
  22879.         
  22880.         HRESULT ( STDMETHODCALLTYPE *SelectParentalCountry )( 
  22881.             IDvdControl2 * This,
  22882.             /* [in] */ BYTE bCountry[ 2 ]);
  22883.         
  22884.         HRESULT ( STDMETHODCALLTYPE *SelectKaraokeAudioPresentationMode )( 
  22885.             IDvdControl2 * This,
  22886.             /* [in] */ ULONG ulMode);
  22887.         
  22888.         HRESULT ( STDMETHODCALLTYPE *SelectVideoModePreference )( 
  22889.             IDvdControl2 * This,
  22890.             /* [in] */ ULONG ulPreferredDisplayMode);
  22891.         
  22892.         HRESULT ( STDMETHODCALLTYPE *SetDVDDirectory )( 
  22893.             IDvdControl2 * This,
  22894.             /* [in] */ LPCWSTR pszwPath);
  22895.         
  22896.         HRESULT ( STDMETHODCALLTYPE *ActivateAtPosition )( 
  22897.             IDvdControl2 * This,
  22898.             /* [in] */ POINT point);
  22899.         
  22900.         HRESULT ( STDMETHODCALLTYPE *SelectAtPosition )( 
  22901.             IDvdControl2 * This,
  22902.             /* [in] */ POINT point);
  22903.         
  22904.         HRESULT ( STDMETHODCALLTYPE *PlayChaptersAutoStop )( 
  22905.             IDvdControl2 * This,
  22906.             /* [in] */ ULONG ulTitle,
  22907.             /* [in] */ ULONG ulChapter,
  22908.             /* [in] */ ULONG ulChaptersToPlay,
  22909.             /* [in] */ DWORD dwFlags,
  22910.             /* [out] */ IDvdCmd **ppCmd);
  22911.         
  22912.         HRESULT ( STDMETHODCALLTYPE *AcceptParentalLevelChange )( 
  22913.             IDvdControl2 * This,
  22914.             /* [in] */ BOOL bAccept);
  22915.         
  22916.         HRESULT ( STDMETHODCALLTYPE *SetOption )( 
  22917.             IDvdControl2 * This,
  22918.             /* [in] */ DVD_OPTION_FLAG flag,
  22919.             /* [in] */ BOOL fState);
  22920.         
  22921.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  22922.             IDvdControl2 * This,
  22923.             /* [in] */ IDvdState *pState,
  22924.             /* [in] */ DWORD dwFlags,
  22925.             /* [out] */ IDvdCmd **ppCmd);
  22926.         
  22927.         HRESULT ( STDMETHODCALLTYPE *PlayPeriodInTitleAutoStop )( 
  22928.             IDvdControl2 * This,
  22929.             /* [in] */ ULONG ulTitle,
  22930.             /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  22931.             /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  22932.             /* [in] */ DWORD dwFlags,
  22933.             /* [out] */ IDvdCmd **ppCmd);
  22934.         
  22935.         HRESULT ( STDMETHODCALLTYPE *SetGPRM )( 
  22936.             IDvdControl2 * This,
  22937.             /* [in] */ ULONG ulIndex,
  22938.             /* [in] */ WORD wValue,
  22939.             /* [in] */ DWORD dwFlags,
  22940.             /* [out] */ IDvdCmd **ppCmd);
  22941.         
  22942.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultMenuLanguage )( 
  22943.             IDvdControl2 * This,
  22944.             /* [in] */ LCID Language);
  22945.         
  22946.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultAudioLanguage )( 
  22947.             IDvdControl2 * This,
  22948.             /* [in] */ LCID Language,
  22949.             /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  22950.         
  22951.         HRESULT ( STDMETHODCALLTYPE *SelectDefaultSubpictureLanguage )( 
  22952.             IDvdControl2 * This,
  22953.             /* [in] */ LCID Language,
  22954.             /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  22955.         
  22956.         END_INTERFACE
  22957.     } IDvdControl2Vtbl;
  22958.  
  22959.     interface IDvdControl2
  22960.     {
  22961.         CONST_VTBL struct IDvdControl2Vtbl *lpVtbl;
  22962.     };
  22963.  
  22964.     
  22965.  
  22966. #ifdef COBJMACROS
  22967.  
  22968.  
  22969. #define IDvdControl2_QueryInterface(This,riid,ppvObject)    \
  22970.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  22971.  
  22972. #define IDvdControl2_AddRef(This)    \
  22973.     (This)->lpVtbl -> AddRef(This)
  22974.  
  22975. #define IDvdControl2_Release(This)    \
  22976.     (This)->lpVtbl -> Release(This)
  22977.  
  22978.  
  22979. #define IDvdControl2_PlayTitle(This,ulTitle,dwFlags,ppCmd)    \
  22980.     (This)->lpVtbl -> PlayTitle(This,ulTitle,dwFlags,ppCmd)
  22981.  
  22982. #define IDvdControl2_PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)    \
  22983.     (This)->lpVtbl -> PlayChapterInTitle(This,ulTitle,ulChapter,dwFlags,ppCmd)
  22984.  
  22985. #define IDvdControl2_PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)    \
  22986.     (This)->lpVtbl -> PlayAtTimeInTitle(This,ulTitle,pStartTime,dwFlags,ppCmd)
  22987.  
  22988. #define IDvdControl2_Stop(This)    \
  22989.     (This)->lpVtbl -> Stop(This)
  22990.  
  22991. #define IDvdControl2_ReturnFromSubmenu(This,dwFlags,ppCmd)    \
  22992.     (This)->lpVtbl -> ReturnFromSubmenu(This,dwFlags,ppCmd)
  22993.  
  22994. #define IDvdControl2_PlayAtTime(This,pTime,dwFlags,ppCmd)    \
  22995.     (This)->lpVtbl -> PlayAtTime(This,pTime,dwFlags,ppCmd)
  22996.  
  22997. #define IDvdControl2_PlayChapter(This,ulChapter,dwFlags,ppCmd)    \
  22998.     (This)->lpVtbl -> PlayChapter(This,ulChapter,dwFlags,ppCmd)
  22999.  
  23000. #define IDvdControl2_PlayPrevChapter(This,dwFlags,ppCmd)    \
  23001.     (This)->lpVtbl -> PlayPrevChapter(This,dwFlags,ppCmd)
  23002.  
  23003. #define IDvdControl2_ReplayChapter(This,dwFlags,ppCmd)    \
  23004.     (This)->lpVtbl -> ReplayChapter(This,dwFlags,ppCmd)
  23005.  
  23006. #define IDvdControl2_PlayNextChapter(This,dwFlags,ppCmd)    \
  23007.     (This)->lpVtbl -> PlayNextChapter(This,dwFlags,ppCmd)
  23008.  
  23009. #define IDvdControl2_PlayForwards(This,dSpeed,dwFlags,ppCmd)    \
  23010.     (This)->lpVtbl -> PlayForwards(This,dSpeed,dwFlags,ppCmd)
  23011.  
  23012. #define IDvdControl2_PlayBackwards(This,dSpeed,dwFlags,ppCmd)    \
  23013.     (This)->lpVtbl -> PlayBackwards(This,dSpeed,dwFlags,ppCmd)
  23014.  
  23015. #define IDvdControl2_ShowMenu(This,MenuID,dwFlags,ppCmd)    \
  23016.     (This)->lpVtbl -> ShowMenu(This,MenuID,dwFlags,ppCmd)
  23017.  
  23018. #define IDvdControl2_Resume(This,dwFlags,ppCmd)    \
  23019.     (This)->lpVtbl -> Resume(This,dwFlags,ppCmd)
  23020.  
  23021. #define IDvdControl2_SelectRelativeButton(This,buttonDir)    \
  23022.     (This)->lpVtbl -> SelectRelativeButton(This,buttonDir)
  23023.  
  23024. #define IDvdControl2_ActivateButton(This)    \
  23025.     (This)->lpVtbl -> ActivateButton(This)
  23026.  
  23027. #define IDvdControl2_SelectButton(This,ulButton)    \
  23028.     (This)->lpVtbl -> SelectButton(This,ulButton)
  23029.  
  23030. #define IDvdControl2_SelectAndActivateButton(This,ulButton)    \
  23031.     (This)->lpVtbl -> SelectAndActivateButton(This,ulButton)
  23032.  
  23033. #define IDvdControl2_StillOff(This)    \
  23034.     (This)->lpVtbl -> StillOff(This)
  23035.  
  23036. #define IDvdControl2_Pause(This,bState)    \
  23037.     (This)->lpVtbl -> Pause(This,bState)
  23038.  
  23039. #define IDvdControl2_SelectAudioStream(This,ulAudio,dwFlags,ppCmd)    \
  23040.     (This)->lpVtbl -> SelectAudioStream(This,ulAudio,dwFlags,ppCmd)
  23041.  
  23042. #define IDvdControl2_SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)    \
  23043.     (This)->lpVtbl -> SelectSubpictureStream(This,ulSubPicture,dwFlags,ppCmd)
  23044.  
  23045. #define IDvdControl2_SetSubpictureState(This,bState,dwFlags,ppCmd)    \
  23046.     (This)->lpVtbl -> SetSubpictureState(This,bState,dwFlags,ppCmd)
  23047.  
  23048. #define IDvdControl2_SelectAngle(This,ulAngle,dwFlags,ppCmd)    \
  23049.     (This)->lpVtbl -> SelectAngle(This,ulAngle,dwFlags,ppCmd)
  23050.  
  23051. #define IDvdControl2_SelectParentalLevel(This,ulParentalLevel)    \
  23052.     (This)->lpVtbl -> SelectParentalLevel(This,ulParentalLevel)
  23053.  
  23054. #define IDvdControl2_SelectParentalCountry(This,bCountry)    \
  23055.     (This)->lpVtbl -> SelectParentalCountry(This,bCountry)
  23056.  
  23057. #define IDvdControl2_SelectKaraokeAudioPresentationMode(This,ulMode)    \
  23058.     (This)->lpVtbl -> SelectKaraokeAudioPresentationMode(This,ulMode)
  23059.  
  23060. #define IDvdControl2_SelectVideoModePreference(This,ulPreferredDisplayMode)    \
  23061.     (This)->lpVtbl -> SelectVideoModePreference(This,ulPreferredDisplayMode)
  23062.  
  23063. #define IDvdControl2_SetDVDDirectory(This,pszwPath)    \
  23064.     (This)->lpVtbl -> SetDVDDirectory(This,pszwPath)
  23065.  
  23066. #define IDvdControl2_ActivateAtPosition(This,point)    \
  23067.     (This)->lpVtbl -> ActivateAtPosition(This,point)
  23068.  
  23069. #define IDvdControl2_SelectAtPosition(This,point)    \
  23070.     (This)->lpVtbl -> SelectAtPosition(This,point)
  23071.  
  23072. #define IDvdControl2_PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)    \
  23073.     (This)->lpVtbl -> PlayChaptersAutoStop(This,ulTitle,ulChapter,ulChaptersToPlay,dwFlags,ppCmd)
  23074.  
  23075. #define IDvdControl2_AcceptParentalLevelChange(This,bAccept)    \
  23076.     (This)->lpVtbl -> AcceptParentalLevelChange(This,bAccept)
  23077.  
  23078. #define IDvdControl2_SetOption(This,flag,fState)    \
  23079.     (This)->lpVtbl -> SetOption(This,flag,fState)
  23080.  
  23081. #define IDvdControl2_SetState(This,pState,dwFlags,ppCmd)    \
  23082.     (This)->lpVtbl -> SetState(This,pState,dwFlags,ppCmd)
  23083.  
  23084. #define IDvdControl2_PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)    \
  23085.     (This)->lpVtbl -> PlayPeriodInTitleAutoStop(This,ulTitle,pStartTime,pEndTime,dwFlags,ppCmd)
  23086.  
  23087. #define IDvdControl2_SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)    \
  23088.     (This)->lpVtbl -> SetGPRM(This,ulIndex,wValue,dwFlags,ppCmd)
  23089.  
  23090. #define IDvdControl2_SelectDefaultMenuLanguage(This,Language)    \
  23091.     (This)->lpVtbl -> SelectDefaultMenuLanguage(This,Language)
  23092.  
  23093. #define IDvdControl2_SelectDefaultAudioLanguage(This,Language,audioExtension)    \
  23094.     (This)->lpVtbl -> SelectDefaultAudioLanguage(This,Language,audioExtension)
  23095.  
  23096. #define IDvdControl2_SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)    \
  23097.     (This)->lpVtbl -> SelectDefaultSubpictureLanguage(This,Language,subpictureExtension)
  23098.  
  23099. #endif /* COBJMACROS */
  23100.  
  23101.  
  23102. #endif     /* C style interface */
  23103.  
  23104.  
  23105.  
  23106. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayTitle_Proxy( 
  23107.     IDvdControl2 * This,
  23108.     /* [in] */ ULONG ulTitle,
  23109.     /* [in] */ DWORD dwFlags,
  23110.     /* [out] */ IDvdCmd **ppCmd);
  23111.  
  23112.  
  23113. void __RPC_STUB IDvdControl2_PlayTitle_Stub(
  23114.     IRpcStubBuffer *This,
  23115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23116.     PRPC_MESSAGE _pRpcMessage,
  23117.     DWORD *_pdwStubPhase);
  23118.  
  23119.  
  23120. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapterInTitle_Proxy( 
  23121.     IDvdControl2 * This,
  23122.     /* [in] */ ULONG ulTitle,
  23123.     /* [in] */ ULONG ulChapter,
  23124.     /* [in] */ DWORD dwFlags,
  23125.     /* [out] */ IDvdCmd **ppCmd);
  23126.  
  23127.  
  23128. void __RPC_STUB IDvdControl2_PlayChapterInTitle_Stub(
  23129.     IRpcStubBuffer *This,
  23130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23131.     PRPC_MESSAGE _pRpcMessage,
  23132.     DWORD *_pdwStubPhase);
  23133.  
  23134.  
  23135. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTimeInTitle_Proxy( 
  23136.     IDvdControl2 * This,
  23137.     /* [in] */ ULONG ulTitle,
  23138.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23139.     /* [in] */ DWORD dwFlags,
  23140.     /* [out] */ IDvdCmd **ppCmd);
  23141.  
  23142.  
  23143. void __RPC_STUB IDvdControl2_PlayAtTimeInTitle_Stub(
  23144.     IRpcStubBuffer *This,
  23145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23146.     PRPC_MESSAGE _pRpcMessage,
  23147.     DWORD *_pdwStubPhase);
  23148.  
  23149.  
  23150. HRESULT STDMETHODCALLTYPE IDvdControl2_Stop_Proxy( 
  23151.     IDvdControl2 * This);
  23152.  
  23153.  
  23154. void __RPC_STUB IDvdControl2_Stop_Stub(
  23155.     IRpcStubBuffer *This,
  23156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23157.     PRPC_MESSAGE _pRpcMessage,
  23158.     DWORD *_pdwStubPhase);
  23159.  
  23160.  
  23161. HRESULT STDMETHODCALLTYPE IDvdControl2_ReturnFromSubmenu_Proxy( 
  23162.     IDvdControl2 * This,
  23163.     /* [in] */ DWORD dwFlags,
  23164.     /* [out] */ IDvdCmd **ppCmd);
  23165.  
  23166.  
  23167. void __RPC_STUB IDvdControl2_ReturnFromSubmenu_Stub(
  23168.     IRpcStubBuffer *This,
  23169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23170.     PRPC_MESSAGE _pRpcMessage,
  23171.     DWORD *_pdwStubPhase);
  23172.  
  23173.  
  23174. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayAtTime_Proxy( 
  23175.     IDvdControl2 * This,
  23176.     /* [in] */ DVD_HMSF_TIMECODE *pTime,
  23177.     /* [in] */ DWORD dwFlags,
  23178.     /* [out] */ IDvdCmd **ppCmd);
  23179.  
  23180.  
  23181. void __RPC_STUB IDvdControl2_PlayAtTime_Stub(
  23182.     IRpcStubBuffer *This,
  23183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23184.     PRPC_MESSAGE _pRpcMessage,
  23185.     DWORD *_pdwStubPhase);
  23186.  
  23187.  
  23188. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChapter_Proxy( 
  23189.     IDvdControl2 * This,
  23190.     /* [in] */ ULONG ulChapter,
  23191.     /* [in] */ DWORD dwFlags,
  23192.     /* [out] */ IDvdCmd **ppCmd);
  23193.  
  23194.  
  23195. void __RPC_STUB IDvdControl2_PlayChapter_Stub(
  23196.     IRpcStubBuffer *This,
  23197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23198.     PRPC_MESSAGE _pRpcMessage,
  23199.     DWORD *_pdwStubPhase);
  23200.  
  23201.  
  23202. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPrevChapter_Proxy( 
  23203.     IDvdControl2 * This,
  23204.     /* [in] */ DWORD dwFlags,
  23205.     /* [out] */ IDvdCmd **ppCmd);
  23206.  
  23207.  
  23208. void __RPC_STUB IDvdControl2_PlayPrevChapter_Stub(
  23209.     IRpcStubBuffer *This,
  23210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23211.     PRPC_MESSAGE _pRpcMessage,
  23212.     DWORD *_pdwStubPhase);
  23213.  
  23214.  
  23215. HRESULT STDMETHODCALLTYPE IDvdControl2_ReplayChapter_Proxy( 
  23216.     IDvdControl2 * This,
  23217.     /* [in] */ DWORD dwFlags,
  23218.     /* [out] */ IDvdCmd **ppCmd);
  23219.  
  23220.  
  23221. void __RPC_STUB IDvdControl2_ReplayChapter_Stub(
  23222.     IRpcStubBuffer *This,
  23223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23224.     PRPC_MESSAGE _pRpcMessage,
  23225.     DWORD *_pdwStubPhase);
  23226.  
  23227.  
  23228. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayNextChapter_Proxy( 
  23229.     IDvdControl2 * This,
  23230.     /* [in] */ DWORD dwFlags,
  23231.     /* [out] */ IDvdCmd **ppCmd);
  23232.  
  23233.  
  23234. void __RPC_STUB IDvdControl2_PlayNextChapter_Stub(
  23235.     IRpcStubBuffer *This,
  23236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23237.     PRPC_MESSAGE _pRpcMessage,
  23238.     DWORD *_pdwStubPhase);
  23239.  
  23240.  
  23241. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayForwards_Proxy( 
  23242.     IDvdControl2 * This,
  23243.     /* [in] */ double dSpeed,
  23244.     /* [in] */ DWORD dwFlags,
  23245.     /* [out] */ IDvdCmd **ppCmd);
  23246.  
  23247.  
  23248. void __RPC_STUB IDvdControl2_PlayForwards_Stub(
  23249.     IRpcStubBuffer *This,
  23250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23251.     PRPC_MESSAGE _pRpcMessage,
  23252.     DWORD *_pdwStubPhase);
  23253.  
  23254.  
  23255. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayBackwards_Proxy( 
  23256.     IDvdControl2 * This,
  23257.     /* [in] */ double dSpeed,
  23258.     /* [in] */ DWORD dwFlags,
  23259.     /* [out] */ IDvdCmd **ppCmd);
  23260.  
  23261.  
  23262. void __RPC_STUB IDvdControl2_PlayBackwards_Stub(
  23263.     IRpcStubBuffer *This,
  23264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23265.     PRPC_MESSAGE _pRpcMessage,
  23266.     DWORD *_pdwStubPhase);
  23267.  
  23268.  
  23269. HRESULT STDMETHODCALLTYPE IDvdControl2_ShowMenu_Proxy( 
  23270.     IDvdControl2 * This,
  23271.     /* [in] */ DVD_MENU_ID MenuID,
  23272.     /* [in] */ DWORD dwFlags,
  23273.     /* [out] */ IDvdCmd **ppCmd);
  23274.  
  23275.  
  23276. void __RPC_STUB IDvdControl2_ShowMenu_Stub(
  23277.     IRpcStubBuffer *This,
  23278.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23279.     PRPC_MESSAGE _pRpcMessage,
  23280.     DWORD *_pdwStubPhase);
  23281.  
  23282.  
  23283. HRESULT STDMETHODCALLTYPE IDvdControl2_Resume_Proxy( 
  23284.     IDvdControl2 * This,
  23285.     /* [in] */ DWORD dwFlags,
  23286.     /* [out] */ IDvdCmd **ppCmd);
  23287.  
  23288.  
  23289. void __RPC_STUB IDvdControl2_Resume_Stub(
  23290.     IRpcStubBuffer *This,
  23291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23292.     PRPC_MESSAGE _pRpcMessage,
  23293.     DWORD *_pdwStubPhase);
  23294.  
  23295.  
  23296. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectRelativeButton_Proxy( 
  23297.     IDvdControl2 * This,
  23298.     DVD_RELATIVE_BUTTON buttonDir);
  23299.  
  23300.  
  23301. void __RPC_STUB IDvdControl2_SelectRelativeButton_Stub(
  23302.     IRpcStubBuffer *This,
  23303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23304.     PRPC_MESSAGE _pRpcMessage,
  23305.     DWORD *_pdwStubPhase);
  23306.  
  23307.  
  23308. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateButton_Proxy( 
  23309.     IDvdControl2 * This);
  23310.  
  23311.  
  23312. void __RPC_STUB IDvdControl2_ActivateButton_Stub(
  23313.     IRpcStubBuffer *This,
  23314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23315.     PRPC_MESSAGE _pRpcMessage,
  23316.     DWORD *_pdwStubPhase);
  23317.  
  23318.  
  23319. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectButton_Proxy( 
  23320.     IDvdControl2 * This,
  23321.     /* [in] */ ULONG ulButton);
  23322.  
  23323.  
  23324. void __RPC_STUB IDvdControl2_SelectButton_Stub(
  23325.     IRpcStubBuffer *This,
  23326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23327.     PRPC_MESSAGE _pRpcMessage,
  23328.     DWORD *_pdwStubPhase);
  23329.  
  23330.  
  23331. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAndActivateButton_Proxy( 
  23332.     IDvdControl2 * This,
  23333.     /* [in] */ ULONG ulButton);
  23334.  
  23335.  
  23336. void __RPC_STUB IDvdControl2_SelectAndActivateButton_Stub(
  23337.     IRpcStubBuffer *This,
  23338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23339.     PRPC_MESSAGE _pRpcMessage,
  23340.     DWORD *_pdwStubPhase);
  23341.  
  23342.  
  23343. HRESULT STDMETHODCALLTYPE IDvdControl2_StillOff_Proxy( 
  23344.     IDvdControl2 * This);
  23345.  
  23346.  
  23347. void __RPC_STUB IDvdControl2_StillOff_Stub(
  23348.     IRpcStubBuffer *This,
  23349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23350.     PRPC_MESSAGE _pRpcMessage,
  23351.     DWORD *_pdwStubPhase);
  23352.  
  23353.  
  23354. HRESULT STDMETHODCALLTYPE IDvdControl2_Pause_Proxy( 
  23355.     IDvdControl2 * This,
  23356.     /* [in] */ BOOL bState);
  23357.  
  23358.  
  23359. void __RPC_STUB IDvdControl2_Pause_Stub(
  23360.     IRpcStubBuffer *This,
  23361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23362.     PRPC_MESSAGE _pRpcMessage,
  23363.     DWORD *_pdwStubPhase);
  23364.  
  23365.  
  23366. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAudioStream_Proxy( 
  23367.     IDvdControl2 * This,
  23368.     /* [in] */ ULONG ulAudio,
  23369.     /* [in] */ DWORD dwFlags,
  23370.     /* [out] */ IDvdCmd **ppCmd);
  23371.  
  23372.  
  23373. void __RPC_STUB IDvdControl2_SelectAudioStream_Stub(
  23374.     IRpcStubBuffer *This,
  23375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23376.     PRPC_MESSAGE _pRpcMessage,
  23377.     DWORD *_pdwStubPhase);
  23378.  
  23379.  
  23380. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectSubpictureStream_Proxy( 
  23381.     IDvdControl2 * This,
  23382.     /* [in] */ ULONG ulSubPicture,
  23383.     /* [in] */ DWORD dwFlags,
  23384.     /* [out] */ IDvdCmd **ppCmd);
  23385.  
  23386.  
  23387. void __RPC_STUB IDvdControl2_SelectSubpictureStream_Stub(
  23388.     IRpcStubBuffer *This,
  23389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23390.     PRPC_MESSAGE _pRpcMessage,
  23391.     DWORD *_pdwStubPhase);
  23392.  
  23393.  
  23394. HRESULT STDMETHODCALLTYPE IDvdControl2_SetSubpictureState_Proxy( 
  23395.     IDvdControl2 * This,
  23396.     /* [in] */ BOOL bState,
  23397.     /* [in] */ DWORD dwFlags,
  23398.     /* [out] */ IDvdCmd **ppCmd);
  23399.  
  23400.  
  23401. void __RPC_STUB IDvdControl2_SetSubpictureState_Stub(
  23402.     IRpcStubBuffer *This,
  23403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23404.     PRPC_MESSAGE _pRpcMessage,
  23405.     DWORD *_pdwStubPhase);
  23406.  
  23407.  
  23408. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAngle_Proxy( 
  23409.     IDvdControl2 * This,
  23410.     /* [in] */ ULONG ulAngle,
  23411.     /* [in] */ DWORD dwFlags,
  23412.     /* [out] */ IDvdCmd **ppCmd);
  23413.  
  23414.  
  23415. void __RPC_STUB IDvdControl2_SelectAngle_Stub(
  23416.     IRpcStubBuffer *This,
  23417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23418.     PRPC_MESSAGE _pRpcMessage,
  23419.     DWORD *_pdwStubPhase);
  23420.  
  23421.  
  23422. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalLevel_Proxy( 
  23423.     IDvdControl2 * This,
  23424.     /* [in] */ ULONG ulParentalLevel);
  23425.  
  23426.  
  23427. void __RPC_STUB IDvdControl2_SelectParentalLevel_Stub(
  23428.     IRpcStubBuffer *This,
  23429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23430.     PRPC_MESSAGE _pRpcMessage,
  23431.     DWORD *_pdwStubPhase);
  23432.  
  23433.  
  23434. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectParentalCountry_Proxy( 
  23435.     IDvdControl2 * This,
  23436.     /* [in] */ BYTE bCountry[ 2 ]);
  23437.  
  23438.  
  23439. void __RPC_STUB IDvdControl2_SelectParentalCountry_Stub(
  23440.     IRpcStubBuffer *This,
  23441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23442.     PRPC_MESSAGE _pRpcMessage,
  23443.     DWORD *_pdwStubPhase);
  23444.  
  23445.  
  23446. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectKaraokeAudioPresentationMode_Proxy( 
  23447.     IDvdControl2 * This,
  23448.     /* [in] */ ULONG ulMode);
  23449.  
  23450.  
  23451. void __RPC_STUB IDvdControl2_SelectKaraokeAudioPresentationMode_Stub(
  23452.     IRpcStubBuffer *This,
  23453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23454.     PRPC_MESSAGE _pRpcMessage,
  23455.     DWORD *_pdwStubPhase);
  23456.  
  23457.  
  23458. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectVideoModePreference_Proxy( 
  23459.     IDvdControl2 * This,
  23460.     /* [in] */ ULONG ulPreferredDisplayMode);
  23461.  
  23462.  
  23463. void __RPC_STUB IDvdControl2_SelectVideoModePreference_Stub(
  23464.     IRpcStubBuffer *This,
  23465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23466.     PRPC_MESSAGE _pRpcMessage,
  23467.     DWORD *_pdwStubPhase);
  23468.  
  23469.  
  23470. HRESULT STDMETHODCALLTYPE IDvdControl2_SetDVDDirectory_Proxy( 
  23471.     IDvdControl2 * This,
  23472.     /* [in] */ LPCWSTR pszwPath);
  23473.  
  23474.  
  23475. void __RPC_STUB IDvdControl2_SetDVDDirectory_Stub(
  23476.     IRpcStubBuffer *This,
  23477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23478.     PRPC_MESSAGE _pRpcMessage,
  23479.     DWORD *_pdwStubPhase);
  23480.  
  23481.  
  23482. HRESULT STDMETHODCALLTYPE IDvdControl2_ActivateAtPosition_Proxy( 
  23483.     IDvdControl2 * This,
  23484.     /* [in] */ POINT point);
  23485.  
  23486.  
  23487. void __RPC_STUB IDvdControl2_ActivateAtPosition_Stub(
  23488.     IRpcStubBuffer *This,
  23489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23490.     PRPC_MESSAGE _pRpcMessage,
  23491.     DWORD *_pdwStubPhase);
  23492.  
  23493.  
  23494. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectAtPosition_Proxy( 
  23495.     IDvdControl2 * This,
  23496.     /* [in] */ POINT point);
  23497.  
  23498.  
  23499. void __RPC_STUB IDvdControl2_SelectAtPosition_Stub(
  23500.     IRpcStubBuffer *This,
  23501.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23502.     PRPC_MESSAGE _pRpcMessage,
  23503.     DWORD *_pdwStubPhase);
  23504.  
  23505.  
  23506. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayChaptersAutoStop_Proxy( 
  23507.     IDvdControl2 * This,
  23508.     /* [in] */ ULONG ulTitle,
  23509.     /* [in] */ ULONG ulChapter,
  23510.     /* [in] */ ULONG ulChaptersToPlay,
  23511.     /* [in] */ DWORD dwFlags,
  23512.     /* [out] */ IDvdCmd **ppCmd);
  23513.  
  23514.  
  23515. void __RPC_STUB IDvdControl2_PlayChaptersAutoStop_Stub(
  23516.     IRpcStubBuffer *This,
  23517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23518.     PRPC_MESSAGE _pRpcMessage,
  23519.     DWORD *_pdwStubPhase);
  23520.  
  23521.  
  23522. HRESULT STDMETHODCALLTYPE IDvdControl2_AcceptParentalLevelChange_Proxy( 
  23523.     IDvdControl2 * This,
  23524.     /* [in] */ BOOL bAccept);
  23525.  
  23526.  
  23527. void __RPC_STUB IDvdControl2_AcceptParentalLevelChange_Stub(
  23528.     IRpcStubBuffer *This,
  23529.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23530.     PRPC_MESSAGE _pRpcMessage,
  23531.     DWORD *_pdwStubPhase);
  23532.  
  23533.  
  23534. HRESULT STDMETHODCALLTYPE IDvdControl2_SetOption_Proxy( 
  23535.     IDvdControl2 * This,
  23536.     /* [in] */ DVD_OPTION_FLAG flag,
  23537.     /* [in] */ BOOL fState);
  23538.  
  23539.  
  23540. void __RPC_STUB IDvdControl2_SetOption_Stub(
  23541.     IRpcStubBuffer *This,
  23542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23543.     PRPC_MESSAGE _pRpcMessage,
  23544.     DWORD *_pdwStubPhase);
  23545.  
  23546.  
  23547. HRESULT STDMETHODCALLTYPE IDvdControl2_SetState_Proxy( 
  23548.     IDvdControl2 * This,
  23549.     /* [in] */ IDvdState *pState,
  23550.     /* [in] */ DWORD dwFlags,
  23551.     /* [out] */ IDvdCmd **ppCmd);
  23552.  
  23553.  
  23554. void __RPC_STUB IDvdControl2_SetState_Stub(
  23555.     IRpcStubBuffer *This,
  23556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23557.     PRPC_MESSAGE _pRpcMessage,
  23558.     DWORD *_pdwStubPhase);
  23559.  
  23560.  
  23561. HRESULT STDMETHODCALLTYPE IDvdControl2_PlayPeriodInTitleAutoStop_Proxy( 
  23562.     IDvdControl2 * This,
  23563.     /* [in] */ ULONG ulTitle,
  23564.     /* [in] */ DVD_HMSF_TIMECODE *pStartTime,
  23565.     /* [in] */ DVD_HMSF_TIMECODE *pEndTime,
  23566.     /* [in] */ DWORD dwFlags,
  23567.     /* [out] */ IDvdCmd **ppCmd);
  23568.  
  23569.  
  23570. void __RPC_STUB IDvdControl2_PlayPeriodInTitleAutoStop_Stub(
  23571.     IRpcStubBuffer *This,
  23572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23573.     PRPC_MESSAGE _pRpcMessage,
  23574.     DWORD *_pdwStubPhase);
  23575.  
  23576.  
  23577. HRESULT STDMETHODCALLTYPE IDvdControl2_SetGPRM_Proxy( 
  23578.     IDvdControl2 * This,
  23579.     /* [in] */ ULONG ulIndex,
  23580.     /* [in] */ WORD wValue,
  23581.     /* [in] */ DWORD dwFlags,
  23582.     /* [out] */ IDvdCmd **ppCmd);
  23583.  
  23584.  
  23585. void __RPC_STUB IDvdControl2_SetGPRM_Stub(
  23586.     IRpcStubBuffer *This,
  23587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23588.     PRPC_MESSAGE _pRpcMessage,
  23589.     DWORD *_pdwStubPhase);
  23590.  
  23591.  
  23592. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultMenuLanguage_Proxy( 
  23593.     IDvdControl2 * This,
  23594.     /* [in] */ LCID Language);
  23595.  
  23596.  
  23597. void __RPC_STUB IDvdControl2_SelectDefaultMenuLanguage_Stub(
  23598.     IRpcStubBuffer *This,
  23599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23600.     PRPC_MESSAGE _pRpcMessage,
  23601.     DWORD *_pdwStubPhase);
  23602.  
  23603.  
  23604. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultAudioLanguage_Proxy( 
  23605.     IDvdControl2 * This,
  23606.     /* [in] */ LCID Language,
  23607.     /* [in] */ DVD_AUDIO_LANG_EXT audioExtension);
  23608.  
  23609.  
  23610. void __RPC_STUB IDvdControl2_SelectDefaultAudioLanguage_Stub(
  23611.     IRpcStubBuffer *This,
  23612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23613.     PRPC_MESSAGE _pRpcMessage,
  23614.     DWORD *_pdwStubPhase);
  23615.  
  23616.  
  23617. HRESULT STDMETHODCALLTYPE IDvdControl2_SelectDefaultSubpictureLanguage_Proxy( 
  23618.     IDvdControl2 * This,
  23619.     /* [in] */ LCID Language,
  23620.     /* [in] */ DVD_SUBPICTURE_LANG_EXT subpictureExtension);
  23621.  
  23622.  
  23623. void __RPC_STUB IDvdControl2_SelectDefaultSubpictureLanguage_Stub(
  23624.     IRpcStubBuffer *This,
  23625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  23626.     PRPC_MESSAGE _pRpcMessage,
  23627.     DWORD *_pdwStubPhase);
  23628.  
  23629.  
  23630.  
  23631. #endif     /* __IDvdControl2_INTERFACE_DEFINED__ */
  23632.  
  23633.  
  23634. /* interface __MIDL_itf_strmif_0371 */
  23635. /* [local] */ 
  23636.  
  23637.  
  23638. enum DVD_TextStringType
  23639.     {    DVD_Struct_Volume    = 0x1,
  23640.     DVD_Struct_Title    = 0x2,
  23641.     DVD_Struct_ParentalID    = 0x3,
  23642.     DVD_Struct_PartOfTitle    = 0x4,
  23643.     DVD_Struct_Cell    = 0x5,
  23644.     DVD_Stream_Audio    = 0x10,
  23645.     DVD_Stream_Subpicture    = 0x11,
  23646.     DVD_Stream_Angle    = 0x12,
  23647.     DVD_Channel_Audio    = 0x20,
  23648.     DVD_General_Name    = 0x30,
  23649.     DVD_General_Comments    = 0x31,
  23650.     DVD_Title_Series    = 0x38,
  23651.     DVD_Title_Movie    = 0x39,
  23652.     DVD_Title_Video    = 0x3a,
  23653.     DVD_Title_Album    = 0x3b,
  23654.     DVD_Title_Song    = 0x3c,
  23655.     DVD_Title_Other    = 0x3f,
  23656.     DVD_Title_Sub_Series    = 0x40,
  23657.     DVD_Title_Sub_Movie    = 0x41,
  23658.     DVD_Title_Sub_Video    = 0x42,
  23659.     DVD_Title_Sub_Album    = 0x43,
  23660.     DVD_Title_Sub_Song    = 0x44,
  23661.     DVD_Title_Sub_Other    = 0x47,
  23662.     DVD_Title_Orig_Series    = 0x48,
  23663.     DVD_Title_Orig_Movie    = 0x49,
  23664.     DVD_Title_Orig_Video    = 0x4a,
  23665.     DVD_Title_Orig_Album    = 0x4b,
  23666.     DVD_Title_Orig_Song    = 0x4c,
  23667.     DVD_Title_Orig_Other    = 0x4f,
  23668.     DVD_Other_Scene    = 0x50,
  23669.     DVD_Other_Cut    = 0x51,
  23670.     DVD_Other_Take    = 0x52
  23671.     } ;
  23672.  
  23673. enum DVD_TextCharSet
  23674.     {    DVD_CharSet_Unicode    = 0,
  23675.     DVD_CharSet_ISO646    = 1,
  23676.     DVD_CharSet_JIS_Roman_Kanji    = 2,
  23677.     DVD_CharSet_ISO8859_1    = 3,
  23678.     DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana    = 4
  23679.     } ;
  23680. #define DVD_TITLE_MENU                0x000
  23681. #define DVD_STREAM_DATA_CURRENT     0x800
  23682. #define DVD_STREAM_DATA_VMGM        0x400
  23683. #define DVD_STREAM_DATA_VTSM        0x401
  23684. #define DVD_DEFAULT_AUDIO_STREAM    0x0f
  23685. typedef struct tagDVD_DECODER_CAPS
  23686.     {
  23687.     DWORD dwSize;
  23688.     DWORD dwAudioCaps;
  23689.     double dFwdMaxRateVideo;
  23690.     double dFwdMaxRateAudio;
  23691.     double dFwdMaxRateSP;
  23692.     double dBwdMaxRateVideo;
  23693.     double dBwdMaxRateAudio;
  23694.     double dBwdMaxRateSP;
  23695.     DWORD dwRes1;
  23696.     DWORD dwRes2;
  23697.     DWORD dwRes3;
  23698.     DWORD dwRes4;
  23699.     }     DVD_DECODER_CAPS;
  23700.  
  23701. #define DVD_AUDIO_CAPS_AC3        0x00000001
  23702. #define DVD_AUDIO_CAPS_MPEG2    0x00000002
  23703. #define DVD_AUDIO_CAPS_LPCM        0x00000004
  23704. #define DVD_AUDIO_CAPS_DTS        0x00000008
  23705. #define DVD_AUDIO_CAPS_SDDS        0x00000010
  23706.  
  23707.  
  23708. extern RPC_IF_HANDLE __MIDL_itf_strmif_0371_v0_0_c_ifspec;
  23709. extern RPC_IF_HANDLE __MIDL_itf_strmif_0371_v0_0_s_ifspec;
  23710.  
  23711. #ifndef __IDvdInfo2_INTERFACE_DEFINED__
  23712. #define __IDvdInfo2_INTERFACE_DEFINED__
  23713.  
  23714. /* interface IDvdInfo2 */
  23715. /* [unique][uuid][object] */ 
  23716.  
  23717.  
  23718. EXTERN_C const IID IID_IDvdInfo2;
  23719.  
  23720. #if defined(__cplusplus) && !defined(CINTERFACE)
  23721.     
  23722.     MIDL_INTERFACE("34151510-EEC0-11D2-8201-00A0C9D74842")
  23723.     IDvdInfo2 : public IUnknown
  23724.     {
  23725.     public:
  23726.         virtual HRESULT STDMETHODCALLTYPE GetCurrentDomain( 
  23727.             /* [out] */ DVD_DOMAIN *pDomain) = 0;
  23728.         
  23729.         virtual HRESULT STDMETHODCALLTYPE GetCurrentLocation( 
  23730.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation) = 0;
  23731.         
  23732.         virtual HRESULT STDMETHODCALLTYPE GetTotalTitleTime( 
  23733.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  23734.             /* [out] */ ULONG *ulTimeCodeFlags) = 0;
  23735.         
  23736.         virtual HRESULT STDMETHODCALLTYPE GetCurrentButton( 
  23737.             /* [out] */ ULONG *pulButtonsAvailable,
  23738.             /* [out] */ ULONG *pulCurrentButton) = 0;
  23739.         
  23740.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAngle( 
  23741.             /* [out] */ ULONG *pulAnglesAvailable,
  23742.             /* [out] */ ULONG *pulCurrentAngle) = 0;
  23743.         
  23744.         virtual HRESULT STDMETHODCALLTYPE GetCurrentAudio( 
  23745.             /* [out] */ ULONG *pulStreamsAvailable,
  23746.             /* [out] */ ULONG *pulCurrentStream) = 0;
  23747.         
  23748.         virtual HRESULT STDMETHODCALLTYPE GetCurrentSubpicture( 
  23749.             /* [out] */ ULONG *pulStreamsAvailable,
  23750.             /* [out] */ ULONG *pulCurrentStream,
  23751.             /* [out] */ BOOL *pbIsDisabled) = 0;
  23752.         
  23753.         virtual HRESULT STDMETHODCALLTYPE GetCurrentUOPS( 
  23754.             /* [out] */ ULONG *pulUOPs) = 0;
  23755.         
  23756.         virtual HRESULT STDMETHODCALLTYPE GetAllSPRMs( 
  23757.             /* [out] */ SPRMARRAY *pRegisterArray) = 0;
  23758.         
  23759.         virtual HRESULT STDMETHODCALLTYPE GetAllGPRMs( 
  23760.             /* [out] */ GPRMARRAY *pRegisterArray) = 0;
  23761.         
  23762.         virtual HRESULT STDMETHODCALLTYPE GetAudioLanguage( 
  23763.             /* [in] */ ULONG ulStream,
  23764.             /* [out] */ LCID *pLanguage) = 0;
  23765.         
  23766.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureLanguage( 
  23767.             /* [in] */ ULONG ulStream,
  23768.             /* [out] */ LCID *pLanguage) = 0;
  23769.         
  23770.         virtual HRESULT STDMETHODCALLTYPE GetTitleAttributes( 
  23771.             /* [in] */ ULONG ulTitle,
  23772.             /* [out] */ DVD_MenuAttributes *pMenu,
  23773.             /* [out] */ DVD_TitleAttributes *pTitle) = 0;
  23774.         
  23775.         virtual HRESULT STDMETHODCALLTYPE GetVMGAttributes( 
  23776.             /* [out] */ DVD_MenuAttributes *pATR) = 0;
  23777.         
  23778.         virtual HRESULT STDMETHODCALLTYPE GetCurrentVideoAttributes( 
  23779.             /* [out] */ DVD_VideoAttributes *pATR) = 0;
  23780.         
  23781.         virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes( 
  23782.             /* [in] */ ULONG ulStream,
  23783.             /* [out] */ DVD_AudioAttributes *pATR) = 0;
  23784.         
  23785.         virtual HRESULT STDMETHODCALLTYPE GetKaraokeAttributes( 
  23786.             /* [in] */ ULONG ulStream,
  23787.             /* [out] */ DVD_KaraokeAttributes *pAttributes) = 0;
  23788.         
  23789.         virtual HRESULT STDMETHODCALLTYPE GetSubpictureAttributes( 
  23790.             /* [in] */ ULONG ulStream,
  23791.             /* [out] */ DVD_SubpictureAttributes *pATR) = 0;
  23792.         
  23793.         virtual HRESULT STDMETHODCALLTYPE GetDVDVolumeInfo( 
  23794.             /* [out] */ ULONG *pulNumOfVolumes,
  23795.             /* [out] */ ULONG *pulVolume,
  23796.             /* [out] */ DVD_DISC_SIDE *pSide,
  23797.             /* [out] */ ULONG *pulNumOfTitles) = 0;
  23798.         
  23799.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextNumberOfLanguages( 
  23800.             /* [out] */ ULONG *pulNumOfLangs) = 0;
  23801.         
  23802.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextLanguageInfo( 
  23803.             /* [in] */ ULONG ulLangIndex,
  23804.             /* [out] */ ULONG *pulNumOfStrings,
  23805.             /* [out] */ LCID *pLangCode,
  23806.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet) = 0;
  23807.         
  23808.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsNative( 
  23809.             /* [in] */ ULONG ulLangIndex,
  23810.             /* [in] */ ULONG ulStringIndex,
  23811.             /* [out] */ BYTE *pbBuffer,
  23812.             /* [in] */ ULONG ulMaxBufferSize,
  23813.             /* [out] */ ULONG *pulActualSize,
  23814.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  23815.         
  23816.         virtual HRESULT STDMETHODCALLTYPE GetDVDTextStringAsUnicode( 
  23817.             /* [in] */ ULONG ulLangIndex,
  23818.             /* [in] */ ULONG ulStringIndex,
  23819.             /* [out] */ WCHAR *pchwBuffer,
  23820.             /* [in] */ ULONG ulMaxBufferSize,
  23821.             /* [out] */ ULONG *pulActualSize,
  23822.             /* [out] */ enum DVD_TextStringType *pType) = 0;
  23823.         
  23824.         virtual HRESULT STDMETHODCALLTYPE GetPlayerParentalLevel( 
  23825.             /* [out] */ ULONG *pulParentalLevel,
  23826.             /* [out] */ BYTE pbCountryCode[ 2 ]) = 0;
  23827.         
  23828.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfChapters( 
  23829.             /* [in] */ ULONG ulTitle,
  23830.             /* [out] */ ULONG *pulNumOfChapters) = 0;
  23831.         
  23832.         virtual HRESULT STDMETHODCALLTYPE GetTitleParentalLevels( 
  23833.             /* [in] */ ULONG ulTitle,
  23834.             /* [out] */ ULONG *pulParentalLevels) = 0;
  23835.         
  23836.         virtual HRESULT STDMETHODCALLTYPE GetDVDDirectory( 
  23837.             /* [size_is][out] */ LPWSTR pszwPath,
  23838.             /* [in] */ ULONG ulMaxSize,
  23839.             /* [out] */ ULONG *pulActualSize) = 0;
  23840.         
  23841.         virtual HRESULT STDMETHODCALLTYPE IsAudioStreamEnabled( 
  23842.             /* [in] */ ULONG ulStreamNum,
  23843.             /* [out] */ BOOL *pbEnabled) = 0;
  23844.         
  23845.         virtual HRESULT STDMETHODCALLTYPE GetDiscID( 
  23846.             /* [in] */ LPCWSTR pszwPath,
  23847.             /* [out] */ ULONGLONG *pullDiscID) = 0;
  23848.         
  23849.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  23850.             /* [out] */ IDvdState **pStateData) = 0;
  23851.         
  23852.         virtual HRESULT STDMETHODCALLTYPE GetMenuLanguages( 
  23853.             /* [out] */ LCID *pLanguages,
  23854.             /* [in] */ ULONG ulMaxLanguages,
  23855.             /* [out] */ ULONG *pulActualLanguages) = 0;
  23856.         
  23857.         virtual HRESULT STDMETHODCALLTYPE GetButtonAtPosition( 
  23858.             /* [in] */ POINT point,
  23859.             /* [out] */ ULONG *pulButtonIndex) = 0;
  23860.         
  23861.         virtual HRESULT STDMETHODCALLTYPE GetCmdFromEvent( 
  23862.             /* [in] */ LONG_PTR lParam1,
  23863.             /* [out] */ IDvdCmd **pCmdObj) = 0;
  23864.         
  23865.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMenuLanguage( 
  23866.             /* [out] */ LCID *pLanguage) = 0;
  23867.         
  23868.         virtual HRESULT STDMETHODCALLTYPE GetDefaultAudioLanguage( 
  23869.             /* [out] */ LCID *pLanguage,
  23870.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension) = 0;
  23871.         
  23872.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSubpictureLanguage( 
  23873.             /* [out] */ LCID *pLanguage,
  23874.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension) = 0;
  23875.         
  23876.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  23877.             /* [out] */ DVD_DECODER_CAPS *pCaps) = 0;
  23878.         
  23879.         virtual HRESULT STDMETHODCALLTYPE GetButtonRect( 
  23880.             /* [in] */ ULONG ulButton,
  23881.             /* [out] */ RECT *pRect) = 0;
  23882.         
  23883.         virtual HRESULT STDMETHODCALLTYPE IsSubpictureStreamEnabled( 
  23884.             /* [in] */ ULONG ulStreamNum,
  23885.             /* [out] */ BOOL *pbEnabled) = 0;
  23886.         
  23887.     };
  23888.     
  23889. #else     /* C style interface */
  23890.  
  23891.     typedef struct IDvdInfo2Vtbl
  23892.     {
  23893.         BEGIN_INTERFACE
  23894.         
  23895.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  23896.             IDvdInfo2 * This,
  23897.             /* [in] */ REFIID riid,
  23898.             /* [iid_is][out] */ void **ppvObject);
  23899.         
  23900.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  23901.             IDvdInfo2 * This);
  23902.         
  23903.         ULONG ( STDMETHODCALLTYPE *Release )( 
  23904.             IDvdInfo2 * This);
  23905.         
  23906.         HRESULT ( STDMETHODCALLTYPE *GetCurrentDomain )( 
  23907.             IDvdInfo2 * This,
  23908.             /* [out] */ DVD_DOMAIN *pDomain);
  23909.         
  23910.         HRESULT ( STDMETHODCALLTYPE *GetCurrentLocation )( 
  23911.             IDvdInfo2 * This,
  23912.             /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  23913.         
  23914.         HRESULT ( STDMETHODCALLTYPE *GetTotalTitleTime )( 
  23915.             IDvdInfo2 * This,
  23916.             /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  23917.             /* [out] */ ULONG *ulTimeCodeFlags);
  23918.         
  23919.         HRESULT ( STDMETHODCALLTYPE *GetCurrentButton )( 
  23920.             IDvdInfo2 * This,
  23921.             /* [out] */ ULONG *pulButtonsAvailable,
  23922.             /* [out] */ ULONG *pulCurrentButton);
  23923.         
  23924.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAngle )( 
  23925.             IDvdInfo2 * This,
  23926.             /* [out] */ ULONG *pulAnglesAvailable,
  23927.             /* [out] */ ULONG *pulCurrentAngle);
  23928.         
  23929.         HRESULT ( STDMETHODCALLTYPE *GetCurrentAudio )( 
  23930.             IDvdInfo2 * This,
  23931.             /* [out] */ ULONG *pulStreamsAvailable,
  23932.             /* [out] */ ULONG *pulCurrentStream);
  23933.         
  23934.         HRESULT ( STDMETHODCALLTYPE *GetCurrentSubpicture )( 
  23935.             IDvdInfo2 * This,
  23936.             /* [out] */ ULONG *pulStreamsAvailable,
  23937.             /* [out] */ ULONG *pulCurrentStream,
  23938.             /* [out] */ BOOL *pbIsDisabled);
  23939.         
  23940.         HRESULT ( STDMETHODCALLTYPE *GetCurrentUOPS )( 
  23941.             IDvdInfo2 * This,
  23942.             /* [out] */ ULONG *pulUOPs);
  23943.         
  23944.         HRESULT ( STDMETHODCALLTYPE *GetAllSPRMs )( 
  23945.             IDvdInfo2 * This,
  23946.             /* [out] */ SPRMARRAY *pRegisterArray);
  23947.         
  23948.         HRESULT ( STDMETHODCALLTYPE *GetAllGPRMs )( 
  23949.             IDvdInfo2 * This,
  23950.             /* [out] */ GPRMARRAY *pRegisterArray);
  23951.         
  23952.         HRESULT ( STDMETHODCALLTYPE *GetAudioLanguage )( 
  23953.             IDvdInfo2 * This,
  23954.             /* [in] */ ULONG ulStream,
  23955.             /* [out] */ LCID *pLanguage);
  23956.         
  23957.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureLanguage )( 
  23958.             IDvdInfo2 * This,
  23959.             /* [in] */ ULONG ulStream,
  23960.             /* [out] */ LCID *pLanguage);
  23961.         
  23962.         HRESULT ( STDMETHODCALLTYPE *GetTitleAttributes )( 
  23963.             IDvdInfo2 * This,
  23964.             /* [in] */ ULONG ulTitle,
  23965.             /* [out] */ DVD_MenuAttributes *pMenu,
  23966.             /* [out] */ DVD_TitleAttributes *pTitle);
  23967.         
  23968.         HRESULT ( STDMETHODCALLTYPE *GetVMGAttributes )( 
  23969.             IDvdInfo2 * This,
  23970.             /* [out] */ DVD_MenuAttributes *pATR);
  23971.         
  23972.         HRESULT ( STDMETHODCALLTYPE *GetCurrentVideoAttributes )( 
  23973.             IDvdInfo2 * This,
  23974.             /* [out] */ DVD_VideoAttributes *pATR);
  23975.         
  23976.         HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )( 
  23977.             IDvdInfo2 * This,
  23978.             /* [in] */ ULONG ulStream,
  23979.             /* [out] */ DVD_AudioAttributes *pATR);
  23980.         
  23981.         HRESULT ( STDMETHODCALLTYPE *GetKaraokeAttributes )( 
  23982.             IDvdInfo2 * This,
  23983.             /* [in] */ ULONG ulStream,
  23984.             /* [out] */ DVD_KaraokeAttributes *pAttributes);
  23985.         
  23986.         HRESULT ( STDMETHODCALLTYPE *GetSubpictureAttributes )( 
  23987.             IDvdInfo2 * This,
  23988.             /* [in] */ ULONG ulStream,
  23989.             /* [out] */ DVD_SubpictureAttributes *pATR);
  23990.         
  23991.         HRESULT ( STDMETHODCALLTYPE *GetDVDVolumeInfo )( 
  23992.             IDvdInfo2 * This,
  23993.             /* [out] */ ULONG *pulNumOfVolumes,
  23994.             /* [out] */ ULONG *pulVolume,
  23995.             /* [out] */ DVD_DISC_SIDE *pSide,
  23996.             /* [out] */ ULONG *pulNumOfTitles);
  23997.         
  23998.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextNumberOfLanguages )( 
  23999.             IDvdInfo2 * This,
  24000.             /* [out] */ ULONG *pulNumOfLangs);
  24001.         
  24002.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextLanguageInfo )( 
  24003.             IDvdInfo2 * This,
  24004.             /* [in] */ ULONG ulLangIndex,
  24005.             /* [out] */ ULONG *pulNumOfStrings,
  24006.             /* [out] */ LCID *pLangCode,
  24007.             /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  24008.         
  24009.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsNative )( 
  24010.             IDvdInfo2 * This,
  24011.             /* [in] */ ULONG ulLangIndex,
  24012.             /* [in] */ ULONG ulStringIndex,
  24013.             /* [out] */ BYTE *pbBuffer,
  24014.             /* [in] */ ULONG ulMaxBufferSize,
  24015.             /* [out] */ ULONG *pulActualSize,
  24016.             /* [out] */ enum DVD_TextStringType *pType);
  24017.         
  24018.         HRESULT ( STDMETHODCALLTYPE *GetDVDTextStringAsUnicode )( 
  24019.             IDvdInfo2 * This,
  24020.             /* [in] */ ULONG ulLangIndex,
  24021.             /* [in] */ ULONG ulStringIndex,
  24022.             /* [out] */ WCHAR *pchwBuffer,
  24023.             /* [in] */ ULONG ulMaxBufferSize,
  24024.             /* [out] */ ULONG *pulActualSize,
  24025.             /* [out] */ enum DVD_TextStringType *pType);
  24026.         
  24027.         HRESULT ( STDMETHODCALLTYPE *GetPlayerParentalLevel )( 
  24028.             IDvdInfo2 * This,
  24029.             /* [out] */ ULONG *pulParentalLevel,
  24030.             /* [out] */ BYTE pbCountryCode[ 2 ]);
  24031.         
  24032.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfChapters )( 
  24033.             IDvdInfo2 * This,
  24034.             /* [in] */ ULONG ulTitle,
  24035.             /* [out] */ ULONG *pulNumOfChapters);
  24036.         
  24037.         HRESULT ( STDMETHODCALLTYPE *GetTitleParentalLevels )( 
  24038.             IDvdInfo2 * This,
  24039.             /* [in] */ ULONG ulTitle,
  24040.             /* [out] */ ULONG *pulParentalLevels);
  24041.         
  24042.         HRESULT ( STDMETHODCALLTYPE *GetDVDDirectory )( 
  24043.             IDvdInfo2 * This,
  24044.             /* [size_is][out] */ LPWSTR pszwPath,
  24045.             /* [in] */ ULONG ulMaxSize,
  24046.             /* [out] */ ULONG *pulActualSize);
  24047.         
  24048.         HRESULT ( STDMETHODCALLTYPE *IsAudioStreamEnabled )( 
  24049.             IDvdInfo2 * This,
  24050.             /* [in] */ ULONG ulStreamNum,
  24051.             /* [out] */ BOOL *pbEnabled);
  24052.         
  24053.         HRESULT ( STDMETHODCALLTYPE *GetDiscID )( 
  24054.             IDvdInfo2 * This,
  24055.             /* [in] */ LPCWSTR pszwPath,
  24056.             /* [out] */ ULONGLONG *pullDiscID);
  24057.         
  24058.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  24059.             IDvdInfo2 * This,
  24060.             /* [out] */ IDvdState **pStateData);
  24061.         
  24062.         HRESULT ( STDMETHODCALLTYPE *GetMenuLanguages )( 
  24063.             IDvdInfo2 * This,
  24064.             /* [out] */ LCID *pLanguages,
  24065.             /* [in] */ ULONG ulMaxLanguages,
  24066.             /* [out] */ ULONG *pulActualLanguages);
  24067.         
  24068.         HRESULT ( STDMETHODCALLTYPE *GetButtonAtPosition )( 
  24069.             IDvdInfo2 * This,
  24070.             /* [in] */ POINT point,
  24071.             /* [out] */ ULONG *pulButtonIndex);
  24072.         
  24073.         HRESULT ( STDMETHODCALLTYPE *GetCmdFromEvent )( 
  24074.             IDvdInfo2 * This,
  24075.             /* [in] */ LONG_PTR lParam1,
  24076.             /* [out] */ IDvdCmd **pCmdObj);
  24077.         
  24078.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMenuLanguage )( 
  24079.             IDvdInfo2 * This,
  24080.             /* [out] */ LCID *pLanguage);
  24081.         
  24082.         HRESULT ( STDMETHODCALLTYPE *GetDefaultAudioLanguage )( 
  24083.             IDvdInfo2 * This,
  24084.             /* [out] */ LCID *pLanguage,
  24085.             /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  24086.         
  24087.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSubpictureLanguage )( 
  24088.             IDvdInfo2 * This,
  24089.             /* [out] */ LCID *pLanguage,
  24090.             /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  24091.         
  24092.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  24093.             IDvdInfo2 * This,
  24094.             /* [out] */ DVD_DECODER_CAPS *pCaps);
  24095.         
  24096.         HRESULT ( STDMETHODCALLTYPE *GetButtonRect )( 
  24097.             IDvdInfo2 * This,
  24098.             /* [in] */ ULONG ulButton,
  24099.             /* [out] */ RECT *pRect);
  24100.         
  24101.         HRESULT ( STDMETHODCALLTYPE *IsSubpictureStreamEnabled )( 
  24102.             IDvdInfo2 * This,
  24103.             /* [in] */ ULONG ulStreamNum,
  24104.             /* [out] */ BOOL *pbEnabled);
  24105.         
  24106.         END_INTERFACE
  24107.     } IDvdInfo2Vtbl;
  24108.  
  24109.     interface IDvdInfo2
  24110.     {
  24111.         CONST_VTBL struct IDvdInfo2Vtbl *lpVtbl;
  24112.     };
  24113.  
  24114.     
  24115.  
  24116. #ifdef COBJMACROS
  24117.  
  24118.  
  24119. #define IDvdInfo2_QueryInterface(This,riid,ppvObject)    \
  24120.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  24121.  
  24122. #define IDvdInfo2_AddRef(This)    \
  24123.     (This)->lpVtbl -> AddRef(This)
  24124.  
  24125. #define IDvdInfo2_Release(This)    \
  24126.     (This)->lpVtbl -> Release(This)
  24127.  
  24128.  
  24129. #define IDvdInfo2_GetCurrentDomain(This,pDomain)    \
  24130.     (This)->lpVtbl -> GetCurrentDomain(This,pDomain)
  24131.  
  24132. #define IDvdInfo2_GetCurrentLocation(This,pLocation)    \
  24133.     (This)->lpVtbl -> GetCurrentLocation(This,pLocation)
  24134.  
  24135. #define IDvdInfo2_GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)    \
  24136.     (This)->lpVtbl -> GetTotalTitleTime(This,pTotalTime,ulTimeCodeFlags)
  24137.  
  24138. #define IDvdInfo2_GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)    \
  24139.     (This)->lpVtbl -> GetCurrentButton(This,pulButtonsAvailable,pulCurrentButton)
  24140.  
  24141. #define IDvdInfo2_GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)    \
  24142.     (This)->lpVtbl -> GetCurrentAngle(This,pulAnglesAvailable,pulCurrentAngle)
  24143.  
  24144. #define IDvdInfo2_GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)    \
  24145.     (This)->lpVtbl -> GetCurrentAudio(This,pulStreamsAvailable,pulCurrentStream)
  24146.  
  24147. #define IDvdInfo2_GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)    \
  24148.     (This)->lpVtbl -> GetCurrentSubpicture(This,pulStreamsAvailable,pulCurrentStream,pbIsDisabled)
  24149.  
  24150. #define IDvdInfo2_GetCurrentUOPS(This,pulUOPs)    \
  24151.     (This)->lpVtbl -> GetCurrentUOPS(This,pulUOPs)
  24152.  
  24153. #define IDvdInfo2_GetAllSPRMs(This,pRegisterArray)    \
  24154.     (This)->lpVtbl -> GetAllSPRMs(This,pRegisterArray)
  24155.  
  24156. #define IDvdInfo2_GetAllGPRMs(This,pRegisterArray)    \
  24157.     (This)->lpVtbl -> GetAllGPRMs(This,pRegisterArray)
  24158.  
  24159. #define IDvdInfo2_GetAudioLanguage(This,ulStream,pLanguage)    \
  24160.     (This)->lpVtbl -> GetAudioLanguage(This,ulStream,pLanguage)
  24161.  
  24162. #define IDvdInfo2_GetSubpictureLanguage(This,ulStream,pLanguage)    \
  24163.     (This)->lpVtbl -> GetSubpictureLanguage(This,ulStream,pLanguage)
  24164.  
  24165. #define IDvdInfo2_GetTitleAttributes(This,ulTitle,pMenu,pTitle)    \
  24166.     (This)->lpVtbl -> GetTitleAttributes(This,ulTitle,pMenu,pTitle)
  24167.  
  24168. #define IDvdInfo2_GetVMGAttributes(This,pATR)    \
  24169.     (This)->lpVtbl -> GetVMGAttributes(This,pATR)
  24170.  
  24171. #define IDvdInfo2_GetCurrentVideoAttributes(This,pATR)    \
  24172.     (This)->lpVtbl -> GetCurrentVideoAttributes(This,pATR)
  24173.  
  24174. #define IDvdInfo2_GetAudioAttributes(This,ulStream,pATR)    \
  24175.     (This)->lpVtbl -> GetAudioAttributes(This,ulStream,pATR)
  24176.  
  24177. #define IDvdInfo2_GetKaraokeAttributes(This,ulStream,pAttributes)    \
  24178.     (This)->lpVtbl -> GetKaraokeAttributes(This,ulStream,pAttributes)
  24179.  
  24180. #define IDvdInfo2_GetSubpictureAttributes(This,ulStream,pATR)    \
  24181.     (This)->lpVtbl -> GetSubpictureAttributes(This,ulStream,pATR)
  24182.  
  24183. #define IDvdInfo2_GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)    \
  24184.     (This)->lpVtbl -> GetDVDVolumeInfo(This,pulNumOfVolumes,pulVolume,pSide,pulNumOfTitles)
  24185.  
  24186. #define IDvdInfo2_GetDVDTextNumberOfLanguages(This,pulNumOfLangs)    \
  24187.     (This)->lpVtbl -> GetDVDTextNumberOfLanguages(This,pulNumOfLangs)
  24188.  
  24189. #define IDvdInfo2_GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)    \
  24190.     (This)->lpVtbl -> GetDVDTextLanguageInfo(This,ulLangIndex,pulNumOfStrings,pLangCode,pbCharacterSet)
  24191.  
  24192. #define IDvdInfo2_GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  24193.     (This)->lpVtbl -> GetDVDTextStringAsNative(This,ulLangIndex,ulStringIndex,pbBuffer,ulMaxBufferSize,pulActualSize,pType)
  24194.  
  24195. #define IDvdInfo2_GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)    \
  24196.     (This)->lpVtbl -> GetDVDTextStringAsUnicode(This,ulLangIndex,ulStringIndex,pchwBuffer,ulMaxBufferSize,pulActualSize,pType)
  24197.  
  24198. #define IDvdInfo2_GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)    \
  24199.     (This)->lpVtbl -> GetPlayerParentalLevel(This,pulParentalLevel,pbCountryCode)
  24200.  
  24201. #define IDvdInfo2_GetNumberOfChapters(This,ulTitle,pulNumOfChapters)    \
  24202.     (This)->lpVtbl -> GetNumberOfChapters(This,ulTitle,pulNumOfChapters)
  24203.  
  24204. #define IDvdInfo2_GetTitleParentalLevels(This,ulTitle,pulParentalLevels)    \
  24205.     (This)->lpVtbl -> GetTitleParentalLevels(This,ulTitle,pulParentalLevels)
  24206.  
  24207. #define IDvdInfo2_GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)    \
  24208.     (This)->lpVtbl -> GetDVDDirectory(This,pszwPath,ulMaxSize,pulActualSize)
  24209.  
  24210. #define IDvdInfo2_IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)    \
  24211.     (This)->lpVtbl -> IsAudioStreamEnabled(This,ulStreamNum,pbEnabled)
  24212.  
  24213. #define IDvdInfo2_GetDiscID(This,pszwPath,pullDiscID)    \
  24214.     (This)->lpVtbl -> GetDiscID(This,pszwPath,pullDiscID)
  24215.  
  24216. #define IDvdInfo2_GetState(This,pStateData)    \
  24217.     (This)->lpVtbl -> GetState(This,pStateData)
  24218.  
  24219. #define IDvdInfo2_GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)    \
  24220.     (This)->lpVtbl -> GetMenuLanguages(This,pLanguages,ulMaxLanguages,pulActualLanguages)
  24221.  
  24222. #define IDvdInfo2_GetButtonAtPosition(This,point,pulButtonIndex)    \
  24223.     (This)->lpVtbl -> GetButtonAtPosition(This,point,pulButtonIndex)
  24224.  
  24225. #define IDvdInfo2_GetCmdFromEvent(This,lParam1,pCmdObj)    \
  24226.     (This)->lpVtbl -> GetCmdFromEvent(This,lParam1,pCmdObj)
  24227.  
  24228. #define IDvdInfo2_GetDefaultMenuLanguage(This,pLanguage)    \
  24229.     (This)->lpVtbl -> GetDefaultMenuLanguage(This,pLanguage)
  24230.  
  24231. #define IDvdInfo2_GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)    \
  24232.     (This)->lpVtbl -> GetDefaultAudioLanguage(This,pLanguage,pAudioExtension)
  24233.  
  24234. #define IDvdInfo2_GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)    \
  24235.     (This)->lpVtbl -> GetDefaultSubpictureLanguage(This,pLanguage,pSubpictureExtension)
  24236.  
  24237. #define IDvdInfo2_GetDecoderCaps(This,pCaps)    \
  24238.     (This)->lpVtbl -> GetDecoderCaps(This,pCaps)
  24239.  
  24240. #define IDvdInfo2_GetButtonRect(This,ulButton,pRect)    \
  24241.     (This)->lpVtbl -> GetButtonRect(This,ulButton,pRect)
  24242.  
  24243. #define IDvdInfo2_IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)    \
  24244.     (This)->lpVtbl -> IsSubpictureStreamEnabled(This,ulStreamNum,pbEnabled)
  24245.  
  24246. #endif /* COBJMACROS */
  24247.  
  24248.  
  24249. #endif     /* C style interface */
  24250.  
  24251.  
  24252.  
  24253. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentDomain_Proxy( 
  24254.     IDvdInfo2 * This,
  24255.     /* [out] */ DVD_DOMAIN *pDomain);
  24256.  
  24257.  
  24258. void __RPC_STUB IDvdInfo2_GetCurrentDomain_Stub(
  24259.     IRpcStubBuffer *This,
  24260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24261.     PRPC_MESSAGE _pRpcMessage,
  24262.     DWORD *_pdwStubPhase);
  24263.  
  24264.  
  24265. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentLocation_Proxy( 
  24266.     IDvdInfo2 * This,
  24267.     /* [out] */ DVD_PLAYBACK_LOCATION2 *pLocation);
  24268.  
  24269.  
  24270. void __RPC_STUB IDvdInfo2_GetCurrentLocation_Stub(
  24271.     IRpcStubBuffer *This,
  24272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24273.     PRPC_MESSAGE _pRpcMessage,
  24274.     DWORD *_pdwStubPhase);
  24275.  
  24276.  
  24277. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTotalTitleTime_Proxy( 
  24278.     IDvdInfo2 * This,
  24279.     /* [out] */ DVD_HMSF_TIMECODE *pTotalTime,
  24280.     /* [out] */ ULONG *ulTimeCodeFlags);
  24281.  
  24282.  
  24283. void __RPC_STUB IDvdInfo2_GetTotalTitleTime_Stub(
  24284.     IRpcStubBuffer *This,
  24285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24286.     PRPC_MESSAGE _pRpcMessage,
  24287.     DWORD *_pdwStubPhase);
  24288.  
  24289.  
  24290. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentButton_Proxy( 
  24291.     IDvdInfo2 * This,
  24292.     /* [out] */ ULONG *pulButtonsAvailable,
  24293.     /* [out] */ ULONG *pulCurrentButton);
  24294.  
  24295.  
  24296. void __RPC_STUB IDvdInfo2_GetCurrentButton_Stub(
  24297.     IRpcStubBuffer *This,
  24298.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24299.     PRPC_MESSAGE _pRpcMessage,
  24300.     DWORD *_pdwStubPhase);
  24301.  
  24302.  
  24303. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAngle_Proxy( 
  24304.     IDvdInfo2 * This,
  24305.     /* [out] */ ULONG *pulAnglesAvailable,
  24306.     /* [out] */ ULONG *pulCurrentAngle);
  24307.  
  24308.  
  24309. void __RPC_STUB IDvdInfo2_GetCurrentAngle_Stub(
  24310.     IRpcStubBuffer *This,
  24311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24312.     PRPC_MESSAGE _pRpcMessage,
  24313.     DWORD *_pdwStubPhase);
  24314.  
  24315.  
  24316. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentAudio_Proxy( 
  24317.     IDvdInfo2 * This,
  24318.     /* [out] */ ULONG *pulStreamsAvailable,
  24319.     /* [out] */ ULONG *pulCurrentStream);
  24320.  
  24321.  
  24322. void __RPC_STUB IDvdInfo2_GetCurrentAudio_Stub(
  24323.     IRpcStubBuffer *This,
  24324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24325.     PRPC_MESSAGE _pRpcMessage,
  24326.     DWORD *_pdwStubPhase);
  24327.  
  24328.  
  24329. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentSubpicture_Proxy( 
  24330.     IDvdInfo2 * This,
  24331.     /* [out] */ ULONG *pulStreamsAvailable,
  24332.     /* [out] */ ULONG *pulCurrentStream,
  24333.     /* [out] */ BOOL *pbIsDisabled);
  24334.  
  24335.  
  24336. void __RPC_STUB IDvdInfo2_GetCurrentSubpicture_Stub(
  24337.     IRpcStubBuffer *This,
  24338.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24339.     PRPC_MESSAGE _pRpcMessage,
  24340.     DWORD *_pdwStubPhase);
  24341.  
  24342.  
  24343. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentUOPS_Proxy( 
  24344.     IDvdInfo2 * This,
  24345.     /* [out] */ ULONG *pulUOPs);
  24346.  
  24347.  
  24348. void __RPC_STUB IDvdInfo2_GetCurrentUOPS_Stub(
  24349.     IRpcStubBuffer *This,
  24350.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24351.     PRPC_MESSAGE _pRpcMessage,
  24352.     DWORD *_pdwStubPhase);
  24353.  
  24354.  
  24355. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllSPRMs_Proxy( 
  24356.     IDvdInfo2 * This,
  24357.     /* [out] */ SPRMARRAY *pRegisterArray);
  24358.  
  24359.  
  24360. void __RPC_STUB IDvdInfo2_GetAllSPRMs_Stub(
  24361.     IRpcStubBuffer *This,
  24362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24363.     PRPC_MESSAGE _pRpcMessage,
  24364.     DWORD *_pdwStubPhase);
  24365.  
  24366.  
  24367. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAllGPRMs_Proxy( 
  24368.     IDvdInfo2 * This,
  24369.     /* [out] */ GPRMARRAY *pRegisterArray);
  24370.  
  24371.  
  24372. void __RPC_STUB IDvdInfo2_GetAllGPRMs_Stub(
  24373.     IRpcStubBuffer *This,
  24374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24375.     PRPC_MESSAGE _pRpcMessage,
  24376.     DWORD *_pdwStubPhase);
  24377.  
  24378.  
  24379. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioLanguage_Proxy( 
  24380.     IDvdInfo2 * This,
  24381.     /* [in] */ ULONG ulStream,
  24382.     /* [out] */ LCID *pLanguage);
  24383.  
  24384.  
  24385. void __RPC_STUB IDvdInfo2_GetAudioLanguage_Stub(
  24386.     IRpcStubBuffer *This,
  24387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24388.     PRPC_MESSAGE _pRpcMessage,
  24389.     DWORD *_pdwStubPhase);
  24390.  
  24391.  
  24392. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureLanguage_Proxy( 
  24393.     IDvdInfo2 * This,
  24394.     /* [in] */ ULONG ulStream,
  24395.     /* [out] */ LCID *pLanguage);
  24396.  
  24397.  
  24398. void __RPC_STUB IDvdInfo2_GetSubpictureLanguage_Stub(
  24399.     IRpcStubBuffer *This,
  24400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24401.     PRPC_MESSAGE _pRpcMessage,
  24402.     DWORD *_pdwStubPhase);
  24403.  
  24404.  
  24405. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleAttributes_Proxy( 
  24406.     IDvdInfo2 * This,
  24407.     /* [in] */ ULONG ulTitle,
  24408.     /* [out] */ DVD_MenuAttributes *pMenu,
  24409.     /* [out] */ DVD_TitleAttributes *pTitle);
  24410.  
  24411.  
  24412. void __RPC_STUB IDvdInfo2_GetTitleAttributes_Stub(
  24413.     IRpcStubBuffer *This,
  24414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24415.     PRPC_MESSAGE _pRpcMessage,
  24416.     DWORD *_pdwStubPhase);
  24417.  
  24418.  
  24419. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetVMGAttributes_Proxy( 
  24420.     IDvdInfo2 * This,
  24421.     /* [out] */ DVD_MenuAttributes *pATR);
  24422.  
  24423.  
  24424. void __RPC_STUB IDvdInfo2_GetVMGAttributes_Stub(
  24425.     IRpcStubBuffer *This,
  24426.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24427.     PRPC_MESSAGE _pRpcMessage,
  24428.     DWORD *_pdwStubPhase);
  24429.  
  24430.  
  24431. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCurrentVideoAttributes_Proxy( 
  24432.     IDvdInfo2 * This,
  24433.     /* [out] */ DVD_VideoAttributes *pATR);
  24434.  
  24435.  
  24436. void __RPC_STUB IDvdInfo2_GetCurrentVideoAttributes_Stub(
  24437.     IRpcStubBuffer *This,
  24438.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24439.     PRPC_MESSAGE _pRpcMessage,
  24440.     DWORD *_pdwStubPhase);
  24441.  
  24442.  
  24443. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetAudioAttributes_Proxy( 
  24444.     IDvdInfo2 * This,
  24445.     /* [in] */ ULONG ulStream,
  24446.     /* [out] */ DVD_AudioAttributes *pATR);
  24447.  
  24448.  
  24449. void __RPC_STUB IDvdInfo2_GetAudioAttributes_Stub(
  24450.     IRpcStubBuffer *This,
  24451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24452.     PRPC_MESSAGE _pRpcMessage,
  24453.     DWORD *_pdwStubPhase);
  24454.  
  24455.  
  24456. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetKaraokeAttributes_Proxy( 
  24457.     IDvdInfo2 * This,
  24458.     /* [in] */ ULONG ulStream,
  24459.     /* [out] */ DVD_KaraokeAttributes *pAttributes);
  24460.  
  24461.  
  24462. void __RPC_STUB IDvdInfo2_GetKaraokeAttributes_Stub(
  24463.     IRpcStubBuffer *This,
  24464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24465.     PRPC_MESSAGE _pRpcMessage,
  24466.     DWORD *_pdwStubPhase);
  24467.  
  24468.  
  24469. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetSubpictureAttributes_Proxy( 
  24470.     IDvdInfo2 * This,
  24471.     /* [in] */ ULONG ulStream,
  24472.     /* [out] */ DVD_SubpictureAttributes *pATR);
  24473.  
  24474.  
  24475. void __RPC_STUB IDvdInfo2_GetSubpictureAttributes_Stub(
  24476.     IRpcStubBuffer *This,
  24477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24478.     PRPC_MESSAGE _pRpcMessage,
  24479.     DWORD *_pdwStubPhase);
  24480.  
  24481.  
  24482. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDVolumeInfo_Proxy( 
  24483.     IDvdInfo2 * This,
  24484.     /* [out] */ ULONG *pulNumOfVolumes,
  24485.     /* [out] */ ULONG *pulVolume,
  24486.     /* [out] */ DVD_DISC_SIDE *pSide,
  24487.     /* [out] */ ULONG *pulNumOfTitles);
  24488.  
  24489.  
  24490. void __RPC_STUB IDvdInfo2_GetDVDVolumeInfo_Stub(
  24491.     IRpcStubBuffer *This,
  24492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24493.     PRPC_MESSAGE _pRpcMessage,
  24494.     DWORD *_pdwStubPhase);
  24495.  
  24496.  
  24497. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextNumberOfLanguages_Proxy( 
  24498.     IDvdInfo2 * This,
  24499.     /* [out] */ ULONG *pulNumOfLangs);
  24500.  
  24501.  
  24502. void __RPC_STUB IDvdInfo2_GetDVDTextNumberOfLanguages_Stub(
  24503.     IRpcStubBuffer *This,
  24504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24505.     PRPC_MESSAGE _pRpcMessage,
  24506.     DWORD *_pdwStubPhase);
  24507.  
  24508.  
  24509. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextLanguageInfo_Proxy( 
  24510.     IDvdInfo2 * This,
  24511.     /* [in] */ ULONG ulLangIndex,
  24512.     /* [out] */ ULONG *pulNumOfStrings,
  24513.     /* [out] */ LCID *pLangCode,
  24514.     /* [out] */ enum DVD_TextCharSet *pbCharacterSet);
  24515.  
  24516.  
  24517. void __RPC_STUB IDvdInfo2_GetDVDTextLanguageInfo_Stub(
  24518.     IRpcStubBuffer *This,
  24519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24520.     PRPC_MESSAGE _pRpcMessage,
  24521.     DWORD *_pdwStubPhase);
  24522.  
  24523.  
  24524. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsNative_Proxy( 
  24525.     IDvdInfo2 * This,
  24526.     /* [in] */ ULONG ulLangIndex,
  24527.     /* [in] */ ULONG ulStringIndex,
  24528.     /* [out] */ BYTE *pbBuffer,
  24529.     /* [in] */ ULONG ulMaxBufferSize,
  24530.     /* [out] */ ULONG *pulActualSize,
  24531.     /* [out] */ enum DVD_TextStringType *pType);
  24532.  
  24533.  
  24534. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsNative_Stub(
  24535.     IRpcStubBuffer *This,
  24536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24537.     PRPC_MESSAGE _pRpcMessage,
  24538.     DWORD *_pdwStubPhase);
  24539.  
  24540.  
  24541. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDTextStringAsUnicode_Proxy( 
  24542.     IDvdInfo2 * This,
  24543.     /* [in] */ ULONG ulLangIndex,
  24544.     /* [in] */ ULONG ulStringIndex,
  24545.     /* [out] */ WCHAR *pchwBuffer,
  24546.     /* [in] */ ULONG ulMaxBufferSize,
  24547.     /* [out] */ ULONG *pulActualSize,
  24548.     /* [out] */ enum DVD_TextStringType *pType);
  24549.  
  24550.  
  24551. void __RPC_STUB IDvdInfo2_GetDVDTextStringAsUnicode_Stub(
  24552.     IRpcStubBuffer *This,
  24553.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24554.     PRPC_MESSAGE _pRpcMessage,
  24555.     DWORD *_pdwStubPhase);
  24556.  
  24557.  
  24558. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetPlayerParentalLevel_Proxy( 
  24559.     IDvdInfo2 * This,
  24560.     /* [out] */ ULONG *pulParentalLevel,
  24561.     /* [out] */ BYTE pbCountryCode[ 2 ]);
  24562.  
  24563.  
  24564. void __RPC_STUB IDvdInfo2_GetPlayerParentalLevel_Stub(
  24565.     IRpcStubBuffer *This,
  24566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24567.     PRPC_MESSAGE _pRpcMessage,
  24568.     DWORD *_pdwStubPhase);
  24569.  
  24570.  
  24571. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetNumberOfChapters_Proxy( 
  24572.     IDvdInfo2 * This,
  24573.     /* [in] */ ULONG ulTitle,
  24574.     /* [out] */ ULONG *pulNumOfChapters);
  24575.  
  24576.  
  24577. void __RPC_STUB IDvdInfo2_GetNumberOfChapters_Stub(
  24578.     IRpcStubBuffer *This,
  24579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24580.     PRPC_MESSAGE _pRpcMessage,
  24581.     DWORD *_pdwStubPhase);
  24582.  
  24583.  
  24584. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetTitleParentalLevels_Proxy( 
  24585.     IDvdInfo2 * This,
  24586.     /* [in] */ ULONG ulTitle,
  24587.     /* [out] */ ULONG *pulParentalLevels);
  24588.  
  24589.  
  24590. void __RPC_STUB IDvdInfo2_GetTitleParentalLevels_Stub(
  24591.     IRpcStubBuffer *This,
  24592.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24593.     PRPC_MESSAGE _pRpcMessage,
  24594.     DWORD *_pdwStubPhase);
  24595.  
  24596.  
  24597. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDVDDirectory_Proxy( 
  24598.     IDvdInfo2 * This,
  24599.     /* [size_is][out] */ LPWSTR pszwPath,
  24600.     /* [in] */ ULONG ulMaxSize,
  24601.     /* [out] */ ULONG *pulActualSize);
  24602.  
  24603.  
  24604. void __RPC_STUB IDvdInfo2_GetDVDDirectory_Stub(
  24605.     IRpcStubBuffer *This,
  24606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24607.     PRPC_MESSAGE _pRpcMessage,
  24608.     DWORD *_pdwStubPhase);
  24609.  
  24610.  
  24611. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsAudioStreamEnabled_Proxy( 
  24612.     IDvdInfo2 * This,
  24613.     /* [in] */ ULONG ulStreamNum,
  24614.     /* [out] */ BOOL *pbEnabled);
  24615.  
  24616.  
  24617. void __RPC_STUB IDvdInfo2_IsAudioStreamEnabled_Stub(
  24618.     IRpcStubBuffer *This,
  24619.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24620.     PRPC_MESSAGE _pRpcMessage,
  24621.     DWORD *_pdwStubPhase);
  24622.  
  24623.  
  24624. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDiscID_Proxy( 
  24625.     IDvdInfo2 * This,
  24626.     /* [in] */ LPCWSTR pszwPath,
  24627.     /* [out] */ ULONGLONG *pullDiscID);
  24628.  
  24629.  
  24630. void __RPC_STUB IDvdInfo2_GetDiscID_Stub(
  24631.     IRpcStubBuffer *This,
  24632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24633.     PRPC_MESSAGE _pRpcMessage,
  24634.     DWORD *_pdwStubPhase);
  24635.  
  24636.  
  24637. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetState_Proxy( 
  24638.     IDvdInfo2 * This,
  24639.     /* [out] */ IDvdState **pStateData);
  24640.  
  24641.  
  24642. void __RPC_STUB IDvdInfo2_GetState_Stub(
  24643.     IRpcStubBuffer *This,
  24644.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24645.     PRPC_MESSAGE _pRpcMessage,
  24646.     DWORD *_pdwStubPhase);
  24647.  
  24648.  
  24649. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetMenuLanguages_Proxy( 
  24650.     IDvdInfo2 * This,
  24651.     /* [out] */ LCID *pLanguages,
  24652.     /* [in] */ ULONG ulMaxLanguages,
  24653.     /* [out] */ ULONG *pulActualLanguages);
  24654.  
  24655.  
  24656. void __RPC_STUB IDvdInfo2_GetMenuLanguages_Stub(
  24657.     IRpcStubBuffer *This,
  24658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24659.     PRPC_MESSAGE _pRpcMessage,
  24660.     DWORD *_pdwStubPhase);
  24661.  
  24662.  
  24663. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonAtPosition_Proxy( 
  24664.     IDvdInfo2 * This,
  24665.     /* [in] */ POINT point,
  24666.     /* [out] */ ULONG *pulButtonIndex);
  24667.  
  24668.  
  24669. void __RPC_STUB IDvdInfo2_GetButtonAtPosition_Stub(
  24670.     IRpcStubBuffer *This,
  24671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24672.     PRPC_MESSAGE _pRpcMessage,
  24673.     DWORD *_pdwStubPhase);
  24674.  
  24675.  
  24676. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetCmdFromEvent_Proxy( 
  24677.     IDvdInfo2 * This,
  24678.     /* [in] */ LONG_PTR lParam1,
  24679.     /* [out] */ IDvdCmd **pCmdObj);
  24680.  
  24681.  
  24682. void __RPC_STUB IDvdInfo2_GetCmdFromEvent_Stub(
  24683.     IRpcStubBuffer *This,
  24684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24685.     PRPC_MESSAGE _pRpcMessage,
  24686.     DWORD *_pdwStubPhase);
  24687.  
  24688.  
  24689. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultMenuLanguage_Proxy( 
  24690.     IDvdInfo2 * This,
  24691.     /* [out] */ LCID *pLanguage);
  24692.  
  24693.  
  24694. void __RPC_STUB IDvdInfo2_GetDefaultMenuLanguage_Stub(
  24695.     IRpcStubBuffer *This,
  24696.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24697.     PRPC_MESSAGE _pRpcMessage,
  24698.     DWORD *_pdwStubPhase);
  24699.  
  24700.  
  24701. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultAudioLanguage_Proxy( 
  24702.     IDvdInfo2 * This,
  24703.     /* [out] */ LCID *pLanguage,
  24704.     /* [out] */ DVD_AUDIO_LANG_EXT *pAudioExtension);
  24705.  
  24706.  
  24707. void __RPC_STUB IDvdInfo2_GetDefaultAudioLanguage_Stub(
  24708.     IRpcStubBuffer *This,
  24709.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24710.     PRPC_MESSAGE _pRpcMessage,
  24711.     DWORD *_pdwStubPhase);
  24712.  
  24713.  
  24714. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDefaultSubpictureLanguage_Proxy( 
  24715.     IDvdInfo2 * This,
  24716.     /* [out] */ LCID *pLanguage,
  24717.     /* [out] */ DVD_SUBPICTURE_LANG_EXT *pSubpictureExtension);
  24718.  
  24719.  
  24720. void __RPC_STUB IDvdInfo2_GetDefaultSubpictureLanguage_Stub(
  24721.     IRpcStubBuffer *This,
  24722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24723.     PRPC_MESSAGE _pRpcMessage,
  24724.     DWORD *_pdwStubPhase);
  24725.  
  24726.  
  24727. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetDecoderCaps_Proxy( 
  24728.     IDvdInfo2 * This,
  24729.     /* [out] */ DVD_DECODER_CAPS *pCaps);
  24730.  
  24731.  
  24732. void __RPC_STUB IDvdInfo2_GetDecoderCaps_Stub(
  24733.     IRpcStubBuffer *This,
  24734.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24735.     PRPC_MESSAGE _pRpcMessage,
  24736.     DWORD *_pdwStubPhase);
  24737.  
  24738.  
  24739. HRESULT STDMETHODCALLTYPE IDvdInfo2_GetButtonRect_Proxy( 
  24740.     IDvdInfo2 * This,
  24741.     /* [in] */ ULONG ulButton,
  24742.     /* [out] */ RECT *pRect);
  24743.  
  24744.  
  24745. void __RPC_STUB IDvdInfo2_GetButtonRect_Stub(
  24746.     IRpcStubBuffer *This,
  24747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24748.     PRPC_MESSAGE _pRpcMessage,
  24749.     DWORD *_pdwStubPhase);
  24750.  
  24751.  
  24752. HRESULT STDMETHODCALLTYPE IDvdInfo2_IsSubpictureStreamEnabled_Proxy( 
  24753.     IDvdInfo2 * This,
  24754.     /* [in] */ ULONG ulStreamNum,
  24755.     /* [out] */ BOOL *pbEnabled);
  24756.  
  24757.  
  24758. void __RPC_STUB IDvdInfo2_IsSubpictureStreamEnabled_Stub(
  24759.     IRpcStubBuffer *This,
  24760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24761.     PRPC_MESSAGE _pRpcMessage,
  24762.     DWORD *_pdwStubPhase);
  24763.  
  24764.  
  24765.  
  24766. #endif     /* __IDvdInfo2_INTERFACE_DEFINED__ */
  24767.  
  24768.  
  24769. /* interface __MIDL_itf_strmif_0373 */
  24770. /* [local] */ 
  24771.  
  24772. typedef 
  24773. enum _AM_DVD_GRAPH_FLAGS
  24774.     {    AM_DVD_HWDEC_PREFER    = 0x1,
  24775.     AM_DVD_HWDEC_ONLY    = 0x2,
  24776.     AM_DVD_SWDEC_PREFER    = 0x4,
  24777.     AM_DVD_SWDEC_ONLY    = 0x8,
  24778.     AM_DVD_NOVPE    = 0x100
  24779.     }     AM_DVD_GRAPH_FLAGS;
  24780.  
  24781. typedef 
  24782. enum _AM_DVD_STREAM_FLAGS
  24783.     {    AM_DVD_STREAM_VIDEO    = 0x1,
  24784.     AM_DVD_STREAM_AUDIO    = 0x2,
  24785.     AM_DVD_STREAM_SUBPIC    = 0x4
  24786.     }     AM_DVD_STREAM_FLAGS;
  24787.  
  24788. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0373_0001
  24789.     {
  24790.     HRESULT hrVPEStatus;
  24791.     BOOL bDvdVolInvalid;
  24792.     BOOL bDvdVolUnknown;
  24793.     BOOL bNoLine21In;
  24794.     BOOL bNoLine21Out;
  24795.     int iNumStreams;
  24796.     int iNumStreamsFailed;
  24797.     DWORD dwFailedStreamsFlag;
  24798.     }     AM_DVD_RENDERSTATUS;
  24799.  
  24800.  
  24801.  
  24802. extern RPC_IF_HANDLE __MIDL_itf_strmif_0373_v0_0_c_ifspec;
  24803. extern RPC_IF_HANDLE __MIDL_itf_strmif_0373_v0_0_s_ifspec;
  24804.  
  24805. #ifndef __IDvdGraphBuilder_INTERFACE_DEFINED__
  24806. #define __IDvdGraphBuilder_INTERFACE_DEFINED__
  24807.  
  24808. /* interface IDvdGraphBuilder */
  24809. /* [unique][uuid][local][object] */ 
  24810.  
  24811.  
  24812. EXTERN_C const IID IID_IDvdGraphBuilder;
  24813.  
  24814. #if defined(__cplusplus) && !defined(CINTERFACE)
  24815.     
  24816.     MIDL_INTERFACE("FCC152B6-F372-11d0-8E00-00C04FD7C08B")
  24817.     IDvdGraphBuilder : public IUnknown
  24818.     {
  24819.     public:
  24820.         virtual HRESULT STDMETHODCALLTYPE GetFiltergraph( 
  24821.             /* [out] */ IGraphBuilder **ppGB) = 0;
  24822.         
  24823.         virtual HRESULT STDMETHODCALLTYPE GetDvdInterface( 
  24824.             /* [in] */ REFIID riid,
  24825.             /* [out] */ void **ppvIF) = 0;
  24826.         
  24827.         virtual HRESULT STDMETHODCALLTYPE RenderDvdVideoVolume( 
  24828.             /* [in] */ LPCWSTR lpcwszPathName,
  24829.             /* [in] */ DWORD dwFlags,
  24830.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus) = 0;
  24831.         
  24832.     };
  24833.     
  24834. #else     /* C style interface */
  24835.  
  24836.     typedef struct IDvdGraphBuilderVtbl
  24837.     {
  24838.         BEGIN_INTERFACE
  24839.         
  24840.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  24841.             IDvdGraphBuilder * This,
  24842.             /* [in] */ REFIID riid,
  24843.             /* [iid_is][out] */ void **ppvObject);
  24844.         
  24845.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  24846.             IDvdGraphBuilder * This);
  24847.         
  24848.         ULONG ( STDMETHODCALLTYPE *Release )( 
  24849.             IDvdGraphBuilder * This);
  24850.         
  24851.         HRESULT ( STDMETHODCALLTYPE *GetFiltergraph )( 
  24852.             IDvdGraphBuilder * This,
  24853.             /* [out] */ IGraphBuilder **ppGB);
  24854.         
  24855.         HRESULT ( STDMETHODCALLTYPE *GetDvdInterface )( 
  24856.             IDvdGraphBuilder * This,
  24857.             /* [in] */ REFIID riid,
  24858.             /* [out] */ void **ppvIF);
  24859.         
  24860.         HRESULT ( STDMETHODCALLTYPE *RenderDvdVideoVolume )( 
  24861.             IDvdGraphBuilder * This,
  24862.             /* [in] */ LPCWSTR lpcwszPathName,
  24863.             /* [in] */ DWORD dwFlags,
  24864.             /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  24865.         
  24866.         END_INTERFACE
  24867.     } IDvdGraphBuilderVtbl;
  24868.  
  24869.     interface IDvdGraphBuilder
  24870.     {
  24871.         CONST_VTBL struct IDvdGraphBuilderVtbl *lpVtbl;
  24872.     };
  24873.  
  24874.     
  24875.  
  24876. #ifdef COBJMACROS
  24877.  
  24878.  
  24879. #define IDvdGraphBuilder_QueryInterface(This,riid,ppvObject)    \
  24880.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  24881.  
  24882. #define IDvdGraphBuilder_AddRef(This)    \
  24883.     (This)->lpVtbl -> AddRef(This)
  24884.  
  24885. #define IDvdGraphBuilder_Release(This)    \
  24886.     (This)->lpVtbl -> Release(This)
  24887.  
  24888.  
  24889. #define IDvdGraphBuilder_GetFiltergraph(This,ppGB)    \
  24890.     (This)->lpVtbl -> GetFiltergraph(This,ppGB)
  24891.  
  24892. #define IDvdGraphBuilder_GetDvdInterface(This,riid,ppvIF)    \
  24893.     (This)->lpVtbl -> GetDvdInterface(This,riid,ppvIF)
  24894.  
  24895. #define IDvdGraphBuilder_RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)    \
  24896.     (This)->lpVtbl -> RenderDvdVideoVolume(This,lpcwszPathName,dwFlags,pStatus)
  24897.  
  24898. #endif /* COBJMACROS */
  24899.  
  24900.  
  24901. #endif     /* C style interface */
  24902.  
  24903.  
  24904.  
  24905. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetFiltergraph_Proxy( 
  24906.     IDvdGraphBuilder * This,
  24907.     /* [out] */ IGraphBuilder **ppGB);
  24908.  
  24909.  
  24910. void __RPC_STUB IDvdGraphBuilder_GetFiltergraph_Stub(
  24911.     IRpcStubBuffer *This,
  24912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24913.     PRPC_MESSAGE _pRpcMessage,
  24914.     DWORD *_pdwStubPhase);
  24915.  
  24916.  
  24917. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_GetDvdInterface_Proxy( 
  24918.     IDvdGraphBuilder * This,
  24919.     /* [in] */ REFIID riid,
  24920.     /* [out] */ void **ppvIF);
  24921.  
  24922.  
  24923. void __RPC_STUB IDvdGraphBuilder_GetDvdInterface_Stub(
  24924.     IRpcStubBuffer *This,
  24925.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24926.     PRPC_MESSAGE _pRpcMessage,
  24927.     DWORD *_pdwStubPhase);
  24928.  
  24929.  
  24930. HRESULT STDMETHODCALLTYPE IDvdGraphBuilder_RenderDvdVideoVolume_Proxy( 
  24931.     IDvdGraphBuilder * This,
  24932.     /* [in] */ LPCWSTR lpcwszPathName,
  24933.     /* [in] */ DWORD dwFlags,
  24934.     /* [out] */ AM_DVD_RENDERSTATUS *pStatus);
  24935.  
  24936.  
  24937. void __RPC_STUB IDvdGraphBuilder_RenderDvdVideoVolume_Stub(
  24938.     IRpcStubBuffer *This,
  24939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  24940.     PRPC_MESSAGE _pRpcMessage,
  24941.     DWORD *_pdwStubPhase);
  24942.  
  24943.  
  24944.  
  24945. #endif     /* __IDvdGraphBuilder_INTERFACE_DEFINED__ */
  24946.  
  24947.  
  24948. #ifndef __IDDrawExclModeVideo_INTERFACE_DEFINED__
  24949. #define __IDDrawExclModeVideo_INTERFACE_DEFINED__
  24950.  
  24951. /* interface IDDrawExclModeVideo */
  24952. /* [unique][uuid][local][object] */ 
  24953.  
  24954.  
  24955. EXTERN_C const IID IID_IDDrawExclModeVideo;
  24956.  
  24957. #if defined(__cplusplus) && !defined(CINTERFACE)
  24958.     
  24959.     MIDL_INTERFACE("153ACC21-D83B-11d1-82BF-00A0C9696C8F")
  24960.     IDDrawExclModeVideo : public IUnknown
  24961.     {
  24962.     public:
  24963.         virtual HRESULT STDMETHODCALLTYPE SetDDrawObject( 
  24964.             /* [in] */ IDirectDraw *pDDrawObject) = 0;
  24965.         
  24966.         virtual HRESULT STDMETHODCALLTYPE GetDDrawObject( 
  24967.             /* [out] */ IDirectDraw **ppDDrawObject,
  24968.             /* [out] */ BOOL *pbUsingExternal) = 0;
  24969.         
  24970.         virtual HRESULT STDMETHODCALLTYPE SetDDrawSurface( 
  24971.             /* [in] */ IDirectDrawSurface *pDDrawSurface) = 0;
  24972.         
  24973.         virtual HRESULT STDMETHODCALLTYPE GetDDrawSurface( 
  24974.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  24975.             /* [out] */ BOOL *pbUsingExternal) = 0;
  24976.         
  24977.         virtual HRESULT STDMETHODCALLTYPE SetDrawParameters( 
  24978.             /* [in] */ const RECT *prcSource,
  24979.             /* [in] */ const RECT *prcTarget) = 0;
  24980.         
  24981.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoProps( 
  24982.             /* [out] */ DWORD *pdwVideoWidth,
  24983.             /* [out] */ DWORD *pdwVideoHeight,
  24984.             /* [out] */ DWORD *pdwPictAspectRatioX,
  24985.             /* [out] */ DWORD *pdwPictAspectRatioY) = 0;
  24986.         
  24987.         virtual HRESULT STDMETHODCALLTYPE SetCallbackInterface( 
  24988.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  24989.             /* [in] */ DWORD dwFlags) = 0;
  24990.         
  24991.     };
  24992.     
  24993. #else     /* C style interface */
  24994.  
  24995.     typedef struct IDDrawExclModeVideoVtbl
  24996.     {
  24997.         BEGIN_INTERFACE
  24998.         
  24999.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25000.             IDDrawExclModeVideo * This,
  25001.             /* [in] */ REFIID riid,
  25002.             /* [iid_is][out] */ void **ppvObject);
  25003.         
  25004.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25005.             IDDrawExclModeVideo * This);
  25006.         
  25007.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25008.             IDDrawExclModeVideo * This);
  25009.         
  25010.         HRESULT ( STDMETHODCALLTYPE *SetDDrawObject )( 
  25011.             IDDrawExclModeVideo * This,
  25012.             /* [in] */ IDirectDraw *pDDrawObject);
  25013.         
  25014.         HRESULT ( STDMETHODCALLTYPE *GetDDrawObject )( 
  25015.             IDDrawExclModeVideo * This,
  25016.             /* [out] */ IDirectDraw **ppDDrawObject,
  25017.             /* [out] */ BOOL *pbUsingExternal);
  25018.         
  25019.         HRESULT ( STDMETHODCALLTYPE *SetDDrawSurface )( 
  25020.             IDDrawExclModeVideo * This,
  25021.             /* [in] */ IDirectDrawSurface *pDDrawSurface);
  25022.         
  25023.         HRESULT ( STDMETHODCALLTYPE *GetDDrawSurface )( 
  25024.             IDDrawExclModeVideo * This,
  25025.             /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  25026.             /* [out] */ BOOL *pbUsingExternal);
  25027.         
  25028.         HRESULT ( STDMETHODCALLTYPE *SetDrawParameters )( 
  25029.             IDDrawExclModeVideo * This,
  25030.             /* [in] */ const RECT *prcSource,
  25031.             /* [in] */ const RECT *prcTarget);
  25032.         
  25033.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoProps )( 
  25034.             IDDrawExclModeVideo * This,
  25035.             /* [out] */ DWORD *pdwVideoWidth,
  25036.             /* [out] */ DWORD *pdwVideoHeight,
  25037.             /* [out] */ DWORD *pdwPictAspectRatioX,
  25038.             /* [out] */ DWORD *pdwPictAspectRatioY);
  25039.         
  25040.         HRESULT ( STDMETHODCALLTYPE *SetCallbackInterface )( 
  25041.             IDDrawExclModeVideo * This,
  25042.             /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  25043.             /* [in] */ DWORD dwFlags);
  25044.         
  25045.         END_INTERFACE
  25046.     } IDDrawExclModeVideoVtbl;
  25047.  
  25048.     interface IDDrawExclModeVideo
  25049.     {
  25050.         CONST_VTBL struct IDDrawExclModeVideoVtbl *lpVtbl;
  25051.     };
  25052.  
  25053.     
  25054.  
  25055. #ifdef COBJMACROS
  25056.  
  25057.  
  25058. #define IDDrawExclModeVideo_QueryInterface(This,riid,ppvObject)    \
  25059.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25060.  
  25061. #define IDDrawExclModeVideo_AddRef(This)    \
  25062.     (This)->lpVtbl -> AddRef(This)
  25063.  
  25064. #define IDDrawExclModeVideo_Release(This)    \
  25065.     (This)->lpVtbl -> Release(This)
  25066.  
  25067.  
  25068. #define IDDrawExclModeVideo_SetDDrawObject(This,pDDrawObject)    \
  25069.     (This)->lpVtbl -> SetDDrawObject(This,pDDrawObject)
  25070.  
  25071. #define IDDrawExclModeVideo_GetDDrawObject(This,ppDDrawObject,pbUsingExternal)    \
  25072.     (This)->lpVtbl -> GetDDrawObject(This,ppDDrawObject,pbUsingExternal)
  25073.  
  25074. #define IDDrawExclModeVideo_SetDDrawSurface(This,pDDrawSurface)    \
  25075.     (This)->lpVtbl -> SetDDrawSurface(This,pDDrawSurface)
  25076.  
  25077. #define IDDrawExclModeVideo_GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)    \
  25078.     (This)->lpVtbl -> GetDDrawSurface(This,ppDDrawSurface,pbUsingExternal)
  25079.  
  25080. #define IDDrawExclModeVideo_SetDrawParameters(This,prcSource,prcTarget)    \
  25081.     (This)->lpVtbl -> SetDrawParameters(This,prcSource,prcTarget)
  25082.  
  25083. #define IDDrawExclModeVideo_GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)    \
  25084.     (This)->lpVtbl -> GetNativeVideoProps(This,pdwVideoWidth,pdwVideoHeight,pdwPictAspectRatioX,pdwPictAspectRatioY)
  25085.  
  25086. #define IDDrawExclModeVideo_SetCallbackInterface(This,pCallback,dwFlags)    \
  25087.     (This)->lpVtbl -> SetCallbackInterface(This,pCallback,dwFlags)
  25088.  
  25089. #endif /* COBJMACROS */
  25090.  
  25091.  
  25092. #endif     /* C style interface */
  25093.  
  25094.  
  25095.  
  25096. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawObject_Proxy( 
  25097.     IDDrawExclModeVideo * This,
  25098.     /* [in] */ IDirectDraw *pDDrawObject);
  25099.  
  25100.  
  25101. void __RPC_STUB IDDrawExclModeVideo_SetDDrawObject_Stub(
  25102.     IRpcStubBuffer *This,
  25103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25104.     PRPC_MESSAGE _pRpcMessage,
  25105.     DWORD *_pdwStubPhase);
  25106.  
  25107.  
  25108. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawObject_Proxy( 
  25109.     IDDrawExclModeVideo * This,
  25110.     /* [out] */ IDirectDraw **ppDDrawObject,
  25111.     /* [out] */ BOOL *pbUsingExternal);
  25112.  
  25113.  
  25114. void __RPC_STUB IDDrawExclModeVideo_GetDDrawObject_Stub(
  25115.     IRpcStubBuffer *This,
  25116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25117.     PRPC_MESSAGE _pRpcMessage,
  25118.     DWORD *_pdwStubPhase);
  25119.  
  25120.  
  25121. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDDrawSurface_Proxy( 
  25122.     IDDrawExclModeVideo * This,
  25123.     /* [in] */ IDirectDrawSurface *pDDrawSurface);
  25124.  
  25125.  
  25126. void __RPC_STUB IDDrawExclModeVideo_SetDDrawSurface_Stub(
  25127.     IRpcStubBuffer *This,
  25128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25129.     PRPC_MESSAGE _pRpcMessage,
  25130.     DWORD *_pdwStubPhase);
  25131.  
  25132.  
  25133. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetDDrawSurface_Proxy( 
  25134.     IDDrawExclModeVideo * This,
  25135.     /* [out] */ IDirectDrawSurface **ppDDrawSurface,
  25136.     /* [out] */ BOOL *pbUsingExternal);
  25137.  
  25138.  
  25139. void __RPC_STUB IDDrawExclModeVideo_GetDDrawSurface_Stub(
  25140.     IRpcStubBuffer *This,
  25141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25142.     PRPC_MESSAGE _pRpcMessage,
  25143.     DWORD *_pdwStubPhase);
  25144.  
  25145.  
  25146. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetDrawParameters_Proxy( 
  25147.     IDDrawExclModeVideo * This,
  25148.     /* [in] */ const RECT *prcSource,
  25149.     /* [in] */ const RECT *prcTarget);
  25150.  
  25151.  
  25152. void __RPC_STUB IDDrawExclModeVideo_SetDrawParameters_Stub(
  25153.     IRpcStubBuffer *This,
  25154.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25155.     PRPC_MESSAGE _pRpcMessage,
  25156.     DWORD *_pdwStubPhase);
  25157.  
  25158.  
  25159. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_GetNativeVideoProps_Proxy( 
  25160.     IDDrawExclModeVideo * This,
  25161.     /* [out] */ DWORD *pdwVideoWidth,
  25162.     /* [out] */ DWORD *pdwVideoHeight,
  25163.     /* [out] */ DWORD *pdwPictAspectRatioX,
  25164.     /* [out] */ DWORD *pdwPictAspectRatioY);
  25165.  
  25166.  
  25167. void __RPC_STUB IDDrawExclModeVideo_GetNativeVideoProps_Stub(
  25168.     IRpcStubBuffer *This,
  25169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25170.     PRPC_MESSAGE _pRpcMessage,
  25171.     DWORD *_pdwStubPhase);
  25172.  
  25173.  
  25174. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideo_SetCallbackInterface_Proxy( 
  25175.     IDDrawExclModeVideo * This,
  25176.     /* [in] */ IDDrawExclModeVideoCallback *pCallback,
  25177.     /* [in] */ DWORD dwFlags);
  25178.  
  25179.  
  25180. void __RPC_STUB IDDrawExclModeVideo_SetCallbackInterface_Stub(
  25181.     IRpcStubBuffer *This,
  25182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25183.     PRPC_MESSAGE _pRpcMessage,
  25184.     DWORD *_pdwStubPhase);
  25185.  
  25186.  
  25187.  
  25188. #endif     /* __IDDrawExclModeVideo_INTERFACE_DEFINED__ */
  25189.  
  25190.  
  25191. /* interface __MIDL_itf_strmif_0375 */
  25192. /* [local] */ 
  25193.  
  25194.  
  25195. enum _AM_OVERLAY_NOTIFY_FLAGS
  25196.     {    AM_OVERLAY_NOTIFY_VISIBLE_CHANGE    = 0x1,
  25197.     AM_OVERLAY_NOTIFY_SOURCE_CHANGE    = 0x2,
  25198.     AM_OVERLAY_NOTIFY_DEST_CHANGE    = 0x4
  25199.     } ;
  25200.  
  25201.  
  25202. extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_c_ifspec;
  25203. extern RPC_IF_HANDLE __MIDL_itf_strmif_0375_v0_0_s_ifspec;
  25204.  
  25205. #ifndef __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  25206. #define __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__
  25207.  
  25208. /* interface IDDrawExclModeVideoCallback */
  25209. /* [unique][uuid][local][object] */ 
  25210.  
  25211.  
  25212. EXTERN_C const IID IID_IDDrawExclModeVideoCallback;
  25213.  
  25214. #if defined(__cplusplus) && !defined(CINTERFACE)
  25215.     
  25216.     MIDL_INTERFACE("913c24a0-20ab-11d2-9038-00a0c9697298")
  25217.     IDDrawExclModeVideoCallback : public IUnknown
  25218.     {
  25219.     public:
  25220.         virtual HRESULT STDMETHODCALLTYPE OnUpdateOverlay( 
  25221.             /* [in] */ BOOL bBefore,
  25222.             /* [in] */ DWORD dwFlags,
  25223.             /* [in] */ BOOL bOldVisible,
  25224.             /* [in] */ const RECT *prcOldSrc,
  25225.             /* [in] */ const RECT *prcOldDest,
  25226.             /* [in] */ BOOL bNewVisible,
  25227.             /* [in] */ const RECT *prcNewSrc,
  25228.             /* [in] */ const RECT *prcNewDest) = 0;
  25229.         
  25230.         virtual HRESULT STDMETHODCALLTYPE OnUpdateColorKey( 
  25231.             /* [in] */ const COLORKEY *pKey,
  25232.             /* [in] */ DWORD dwColor) = 0;
  25233.         
  25234.         virtual HRESULT STDMETHODCALLTYPE OnUpdateSize( 
  25235.             /* [in] */ DWORD dwWidth,
  25236.             /* [in] */ DWORD dwHeight,
  25237.             /* [in] */ DWORD dwARWidth,
  25238.             /* [in] */ DWORD dwARHeight) = 0;
  25239.         
  25240.     };
  25241.     
  25242. #else     /* C style interface */
  25243.  
  25244.     typedef struct IDDrawExclModeVideoCallbackVtbl
  25245.     {
  25246.         BEGIN_INTERFACE
  25247.         
  25248.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25249.             IDDrawExclModeVideoCallback * This,
  25250.             /* [in] */ REFIID riid,
  25251.             /* [iid_is][out] */ void **ppvObject);
  25252.         
  25253.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25254.             IDDrawExclModeVideoCallback * This);
  25255.         
  25256.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25257.             IDDrawExclModeVideoCallback * This);
  25258.         
  25259.         HRESULT ( STDMETHODCALLTYPE *OnUpdateOverlay )( 
  25260.             IDDrawExclModeVideoCallback * This,
  25261.             /* [in] */ BOOL bBefore,
  25262.             /* [in] */ DWORD dwFlags,
  25263.             /* [in] */ BOOL bOldVisible,
  25264.             /* [in] */ const RECT *prcOldSrc,
  25265.             /* [in] */ const RECT *prcOldDest,
  25266.             /* [in] */ BOOL bNewVisible,
  25267.             /* [in] */ const RECT *prcNewSrc,
  25268.             /* [in] */ const RECT *prcNewDest);
  25269.         
  25270.         HRESULT ( STDMETHODCALLTYPE *OnUpdateColorKey )( 
  25271.             IDDrawExclModeVideoCallback * This,
  25272.             /* [in] */ const COLORKEY *pKey,
  25273.             /* [in] */ DWORD dwColor);
  25274.         
  25275.         HRESULT ( STDMETHODCALLTYPE *OnUpdateSize )( 
  25276.             IDDrawExclModeVideoCallback * This,
  25277.             /* [in] */ DWORD dwWidth,
  25278.             /* [in] */ DWORD dwHeight,
  25279.             /* [in] */ DWORD dwARWidth,
  25280.             /* [in] */ DWORD dwARHeight);
  25281.         
  25282.         END_INTERFACE
  25283.     } IDDrawExclModeVideoCallbackVtbl;
  25284.  
  25285.     interface IDDrawExclModeVideoCallback
  25286.     {
  25287.         CONST_VTBL struct IDDrawExclModeVideoCallbackVtbl *lpVtbl;
  25288.     };
  25289.  
  25290.     
  25291.  
  25292. #ifdef COBJMACROS
  25293.  
  25294.  
  25295. #define IDDrawExclModeVideoCallback_QueryInterface(This,riid,ppvObject)    \
  25296.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25297.  
  25298. #define IDDrawExclModeVideoCallback_AddRef(This)    \
  25299.     (This)->lpVtbl -> AddRef(This)
  25300.  
  25301. #define IDDrawExclModeVideoCallback_Release(This)    \
  25302.     (This)->lpVtbl -> Release(This)
  25303.  
  25304.  
  25305. #define IDDrawExclModeVideoCallback_OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)    \
  25306.     (This)->lpVtbl -> OnUpdateOverlay(This,bBefore,dwFlags,bOldVisible,prcOldSrc,prcOldDest,bNewVisible,prcNewSrc,prcNewDest)
  25307.  
  25308. #define IDDrawExclModeVideoCallback_OnUpdateColorKey(This,pKey,dwColor)    \
  25309.     (This)->lpVtbl -> OnUpdateColorKey(This,pKey,dwColor)
  25310.  
  25311. #define IDDrawExclModeVideoCallback_OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)    \
  25312.     (This)->lpVtbl -> OnUpdateSize(This,dwWidth,dwHeight,dwARWidth,dwARHeight)
  25313.  
  25314. #endif /* COBJMACROS */
  25315.  
  25316.  
  25317. #endif     /* C style interface */
  25318.  
  25319.  
  25320.  
  25321. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateOverlay_Proxy( 
  25322.     IDDrawExclModeVideoCallback * This,
  25323.     /* [in] */ BOOL bBefore,
  25324.     /* [in] */ DWORD dwFlags,
  25325.     /* [in] */ BOOL bOldVisible,
  25326.     /* [in] */ const RECT *prcOldSrc,
  25327.     /* [in] */ const RECT *prcOldDest,
  25328.     /* [in] */ BOOL bNewVisible,
  25329.     /* [in] */ const RECT *prcNewSrc,
  25330.     /* [in] */ const RECT *prcNewDest);
  25331.  
  25332.  
  25333. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateOverlay_Stub(
  25334.     IRpcStubBuffer *This,
  25335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25336.     PRPC_MESSAGE _pRpcMessage,
  25337.     DWORD *_pdwStubPhase);
  25338.  
  25339.  
  25340. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateColorKey_Proxy( 
  25341.     IDDrawExclModeVideoCallback * This,
  25342.     /* [in] */ const COLORKEY *pKey,
  25343.     /* [in] */ DWORD dwColor);
  25344.  
  25345.  
  25346. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateColorKey_Stub(
  25347.     IRpcStubBuffer *This,
  25348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25349.     PRPC_MESSAGE _pRpcMessage,
  25350.     DWORD *_pdwStubPhase);
  25351.  
  25352.  
  25353. HRESULT STDMETHODCALLTYPE IDDrawExclModeVideoCallback_OnUpdateSize_Proxy( 
  25354.     IDDrawExclModeVideoCallback * This,
  25355.     /* [in] */ DWORD dwWidth,
  25356.     /* [in] */ DWORD dwHeight,
  25357.     /* [in] */ DWORD dwARWidth,
  25358.     /* [in] */ DWORD dwARHeight);
  25359.  
  25360.  
  25361. void __RPC_STUB IDDrawExclModeVideoCallback_OnUpdateSize_Stub(
  25362.     IRpcStubBuffer *This,
  25363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25364.     PRPC_MESSAGE _pRpcMessage,
  25365.     DWORD *_pdwStubPhase);
  25366.  
  25367.  
  25368.  
  25369. #endif     /* __IDDrawExclModeVideoCallback_INTERFACE_DEFINED__ */
  25370.  
  25371.  
  25372. /* interface __MIDL_itf_strmif_0376 */
  25373. /* [local] */ 
  25374.  
  25375.  
  25376.  
  25377.  
  25378.  
  25379.  
  25380.  
  25381. extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_c_ifspec;
  25382. extern RPC_IF_HANDLE __MIDL_itf_strmif_0376_v0_0_s_ifspec;
  25383.  
  25384. #ifndef __IPinConnection_INTERFACE_DEFINED__
  25385. #define __IPinConnection_INTERFACE_DEFINED__
  25386.  
  25387. /* interface IPinConnection */
  25388. /* [unique][uuid][object][local] */ 
  25389.  
  25390.  
  25391. EXTERN_C const IID IID_IPinConnection;
  25392.  
  25393. #if defined(__cplusplus) && !defined(CINTERFACE)
  25394.     
  25395.     MIDL_INTERFACE("4a9a62d3-27d4-403d-91e9-89f540e55534")
  25396.     IPinConnection : public IUnknown
  25397.     {
  25398.     public:
  25399.         virtual HRESULT STDMETHODCALLTYPE DynamicQueryAccept( 
  25400.             /* [in] */ const AM_MEDIA_TYPE *pmt) = 0;
  25401.         
  25402.         virtual HRESULT STDMETHODCALLTYPE NotifyEndOfStream( 
  25403.             /* [in] */ HANDLE hNotifyEvent) = 0;
  25404.         
  25405.         virtual HRESULT STDMETHODCALLTYPE IsEndPin( void) = 0;
  25406.         
  25407.         virtual HRESULT STDMETHODCALLTYPE DynamicDisconnect( void) = 0;
  25408.         
  25409.     };
  25410.     
  25411. #else     /* C style interface */
  25412.  
  25413.     typedef struct IPinConnectionVtbl
  25414.     {
  25415.         BEGIN_INTERFACE
  25416.         
  25417.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25418.             IPinConnection * This,
  25419.             /* [in] */ REFIID riid,
  25420.             /* [iid_is][out] */ void **ppvObject);
  25421.         
  25422.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25423.             IPinConnection * This);
  25424.         
  25425.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25426.             IPinConnection * This);
  25427.         
  25428.         HRESULT ( STDMETHODCALLTYPE *DynamicQueryAccept )( 
  25429.             IPinConnection * This,
  25430.             /* [in] */ const AM_MEDIA_TYPE *pmt);
  25431.         
  25432.         HRESULT ( STDMETHODCALLTYPE *NotifyEndOfStream )( 
  25433.             IPinConnection * This,
  25434.             /* [in] */ HANDLE hNotifyEvent);
  25435.         
  25436.         HRESULT ( STDMETHODCALLTYPE *IsEndPin )( 
  25437.             IPinConnection * This);
  25438.         
  25439.         HRESULT ( STDMETHODCALLTYPE *DynamicDisconnect )( 
  25440.             IPinConnection * This);
  25441.         
  25442.         END_INTERFACE
  25443.     } IPinConnectionVtbl;
  25444.  
  25445.     interface IPinConnection
  25446.     {
  25447.         CONST_VTBL struct IPinConnectionVtbl *lpVtbl;
  25448.     };
  25449.  
  25450.     
  25451.  
  25452. #ifdef COBJMACROS
  25453.  
  25454.  
  25455. #define IPinConnection_QueryInterface(This,riid,ppvObject)    \
  25456.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25457.  
  25458. #define IPinConnection_AddRef(This)    \
  25459.     (This)->lpVtbl -> AddRef(This)
  25460.  
  25461. #define IPinConnection_Release(This)    \
  25462.     (This)->lpVtbl -> Release(This)
  25463.  
  25464.  
  25465. #define IPinConnection_DynamicQueryAccept(This,pmt)    \
  25466.     (This)->lpVtbl -> DynamicQueryAccept(This,pmt)
  25467.  
  25468. #define IPinConnection_NotifyEndOfStream(This,hNotifyEvent)    \
  25469.     (This)->lpVtbl -> NotifyEndOfStream(This,hNotifyEvent)
  25470.  
  25471. #define IPinConnection_IsEndPin(This)    \
  25472.     (This)->lpVtbl -> IsEndPin(This)
  25473.  
  25474. #define IPinConnection_DynamicDisconnect(This)    \
  25475.     (This)->lpVtbl -> DynamicDisconnect(This)
  25476.  
  25477. #endif /* COBJMACROS */
  25478.  
  25479.  
  25480. #endif     /* C style interface */
  25481.  
  25482.  
  25483.  
  25484. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicQueryAccept_Proxy( 
  25485.     IPinConnection * This,
  25486.     /* [in] */ const AM_MEDIA_TYPE *pmt);
  25487.  
  25488.  
  25489. void __RPC_STUB IPinConnection_DynamicQueryAccept_Stub(
  25490.     IRpcStubBuffer *This,
  25491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25492.     PRPC_MESSAGE _pRpcMessage,
  25493.     DWORD *_pdwStubPhase);
  25494.  
  25495.  
  25496. HRESULT STDMETHODCALLTYPE IPinConnection_NotifyEndOfStream_Proxy( 
  25497.     IPinConnection * This,
  25498.     /* [in] */ HANDLE hNotifyEvent);
  25499.  
  25500.  
  25501. void __RPC_STUB IPinConnection_NotifyEndOfStream_Stub(
  25502.     IRpcStubBuffer *This,
  25503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25504.     PRPC_MESSAGE _pRpcMessage,
  25505.     DWORD *_pdwStubPhase);
  25506.  
  25507.  
  25508. HRESULT STDMETHODCALLTYPE IPinConnection_IsEndPin_Proxy( 
  25509.     IPinConnection * This);
  25510.  
  25511.  
  25512. void __RPC_STUB IPinConnection_IsEndPin_Stub(
  25513.     IRpcStubBuffer *This,
  25514.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25515.     PRPC_MESSAGE _pRpcMessage,
  25516.     DWORD *_pdwStubPhase);
  25517.  
  25518.  
  25519. HRESULT STDMETHODCALLTYPE IPinConnection_DynamicDisconnect_Proxy( 
  25520.     IPinConnection * This);
  25521.  
  25522.  
  25523. void __RPC_STUB IPinConnection_DynamicDisconnect_Stub(
  25524.     IRpcStubBuffer *This,
  25525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25526.     PRPC_MESSAGE _pRpcMessage,
  25527.     DWORD *_pdwStubPhase);
  25528.  
  25529.  
  25530.  
  25531. #endif     /* __IPinConnection_INTERFACE_DEFINED__ */
  25532.  
  25533.  
  25534. #ifndef __IPinFlowControl_INTERFACE_DEFINED__
  25535. #define __IPinFlowControl_INTERFACE_DEFINED__
  25536.  
  25537. /* interface IPinFlowControl */
  25538. /* [unique][uuid][object][local] */ 
  25539.  
  25540.  
  25541. EXTERN_C const IID IID_IPinFlowControl;
  25542.  
  25543. #if defined(__cplusplus) && !defined(CINTERFACE)
  25544.     
  25545.     MIDL_INTERFACE("c56e9858-dbf3-4f6b-8119-384af2060deb")
  25546.     IPinFlowControl : public IUnknown
  25547.     {
  25548.     public:
  25549.         virtual HRESULT STDMETHODCALLTYPE Block( 
  25550.             /* [in] */ DWORD dwBlockFlags,
  25551.             /* [in] */ HANDLE hEvent) = 0;
  25552.         
  25553.     };
  25554.     
  25555. #else     /* C style interface */
  25556.  
  25557.     typedef struct IPinFlowControlVtbl
  25558.     {
  25559.         BEGIN_INTERFACE
  25560.         
  25561.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25562.             IPinFlowControl * This,
  25563.             /* [in] */ REFIID riid,
  25564.             /* [iid_is][out] */ void **ppvObject);
  25565.         
  25566.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25567.             IPinFlowControl * This);
  25568.         
  25569.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25570.             IPinFlowControl * This);
  25571.         
  25572.         HRESULT ( STDMETHODCALLTYPE *Block )( 
  25573.             IPinFlowControl * This,
  25574.             /* [in] */ DWORD dwBlockFlags,
  25575.             /* [in] */ HANDLE hEvent);
  25576.         
  25577.         END_INTERFACE
  25578.     } IPinFlowControlVtbl;
  25579.  
  25580.     interface IPinFlowControl
  25581.     {
  25582.         CONST_VTBL struct IPinFlowControlVtbl *lpVtbl;
  25583.     };
  25584.  
  25585.     
  25586.  
  25587. #ifdef COBJMACROS
  25588.  
  25589.  
  25590. #define IPinFlowControl_QueryInterface(This,riid,ppvObject)    \
  25591.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25592.  
  25593. #define IPinFlowControl_AddRef(This)    \
  25594.     (This)->lpVtbl -> AddRef(This)
  25595.  
  25596. #define IPinFlowControl_Release(This)    \
  25597.     (This)->lpVtbl -> Release(This)
  25598.  
  25599.  
  25600. #define IPinFlowControl_Block(This,dwBlockFlags,hEvent)    \
  25601.     (This)->lpVtbl -> Block(This,dwBlockFlags,hEvent)
  25602.  
  25603. #endif /* COBJMACROS */
  25604.  
  25605.  
  25606. #endif     /* C style interface */
  25607.  
  25608.  
  25609.  
  25610. HRESULT STDMETHODCALLTYPE IPinFlowControl_Block_Proxy( 
  25611.     IPinFlowControl * This,
  25612.     /* [in] */ DWORD dwBlockFlags,
  25613.     /* [in] */ HANDLE hEvent);
  25614.  
  25615.  
  25616. void __RPC_STUB IPinFlowControl_Block_Stub(
  25617.     IRpcStubBuffer *This,
  25618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25619.     PRPC_MESSAGE _pRpcMessage,
  25620.     DWORD *_pdwStubPhase);
  25621.  
  25622.  
  25623.  
  25624. #endif     /* __IPinFlowControl_INTERFACE_DEFINED__ */
  25625.  
  25626.  
  25627. /* interface __MIDL_itf_strmif_0378 */
  25628. /* [local] */ 
  25629.  
  25630.  
  25631. enum _AM_PIN_FLOW_CONTROL_BLOCK_FLAGS
  25632.     {    AM_PIN_FLOW_CONTROL_BLOCK    = 0x1
  25633.     } ;
  25634. typedef 
  25635. enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS
  25636.     {    AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT    = 0x1,
  25637.     AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS    = 0x2,
  25638.     AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS    = 0x4
  25639.     }     AM_GRAPH_CONFIG_RECONNECT_FLAGS;
  25640.  
  25641.  
  25642. enum _REM_FILTER_FLAGS
  25643.     {    REMFILTERF_LEAVECONNECTED    = 0x1
  25644.     } ;
  25645. typedef 
  25646. enum _AM_FILTER_FLAGS
  25647.     {    AM_FILTER_FLAGS_REMOVABLE    = 0x1
  25648.     }     AM_FILTER_FLAGS;
  25649.  
  25650.  
  25651.  
  25652. extern RPC_IF_HANDLE __MIDL_itf_strmif_0378_v0_0_c_ifspec;
  25653. extern RPC_IF_HANDLE __MIDL_itf_strmif_0378_v0_0_s_ifspec;
  25654.  
  25655. #ifndef __IGraphConfig_INTERFACE_DEFINED__
  25656. #define __IGraphConfig_INTERFACE_DEFINED__
  25657.  
  25658. /* interface IGraphConfig */
  25659. /* [unique][uuid][object][local] */ 
  25660.  
  25661.  
  25662. EXTERN_C const IID IID_IGraphConfig;
  25663.  
  25664. #if defined(__cplusplus) && !defined(CINTERFACE)
  25665.     
  25666.     MIDL_INTERFACE("03A1EB8E-32BF-4245-8502-114D08A9CB88")
  25667.     IGraphConfig : public IUnknown
  25668.     {
  25669.     public:
  25670.         virtual HRESULT STDMETHODCALLTYPE Reconnect( 
  25671.             /* [in] */ IPin *pOutputPin,
  25672.             /* [in] */ IPin *pInputPin,
  25673.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  25674.             /* [in] */ IBaseFilter *pUsingFilter,
  25675.             /* [in] */ HANDLE hAbortEvent,
  25676.             /* [in] */ DWORD dwFlags) = 0;
  25677.         
  25678.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  25679.             /* [in] */ IGraphConfigCallback *pCallback,
  25680.             /* [in] */ PVOID pvContext,
  25681.             /* [in] */ DWORD dwFlags,
  25682.             /* [in] */ HANDLE hAbortEvent) = 0;
  25683.         
  25684.         virtual HRESULT STDMETHODCALLTYPE AddFilterToCache( 
  25685.             /* [in] */ IBaseFilter *pFilter) = 0;
  25686.         
  25687.         virtual HRESULT STDMETHODCALLTYPE EnumCacheFilter( 
  25688.             /* [out] */ IEnumFilters **pEnum) = 0;
  25689.         
  25690.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterFromCache( 
  25691.             /* [in] */ IBaseFilter *pFilter) = 0;
  25692.         
  25693.         virtual HRESULT STDMETHODCALLTYPE GetStartTime( 
  25694.             /* [out] */ REFERENCE_TIME *prtStart) = 0;
  25695.         
  25696.         virtual HRESULT STDMETHODCALLTYPE PushThroughData( 
  25697.             /* [in] */ IPin *pOutputPin,
  25698.             /* [in] */ IPinConnection *pConnection,
  25699.             /* [in] */ HANDLE hEventAbort) = 0;
  25700.         
  25701.         virtual HRESULT STDMETHODCALLTYPE SetFilterFlags( 
  25702.             /* [in] */ IBaseFilter *pFilter,
  25703.             /* [in] */ DWORD dwFlags) = 0;
  25704.         
  25705.         virtual HRESULT STDMETHODCALLTYPE GetFilterFlags( 
  25706.             /* [in] */ IBaseFilter *pFilter,
  25707.             /* [out] */ DWORD *pdwFlags) = 0;
  25708.         
  25709.         virtual HRESULT STDMETHODCALLTYPE RemoveFilterEx( 
  25710.             /* [in] */ IBaseFilter *pFilter,
  25711.             DWORD Flags) = 0;
  25712.         
  25713.     };
  25714.     
  25715. #else     /* C style interface */
  25716.  
  25717.     typedef struct IGraphConfigVtbl
  25718.     {
  25719.         BEGIN_INTERFACE
  25720.         
  25721.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  25722.             IGraphConfig * This,
  25723.             /* [in] */ REFIID riid,
  25724.             /* [iid_is][out] */ void **ppvObject);
  25725.         
  25726.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  25727.             IGraphConfig * This);
  25728.         
  25729.         ULONG ( STDMETHODCALLTYPE *Release )( 
  25730.             IGraphConfig * This);
  25731.         
  25732.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  25733.             IGraphConfig * This,
  25734.             /* [in] */ IPin *pOutputPin,
  25735.             /* [in] */ IPin *pInputPin,
  25736.             /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  25737.             /* [in] */ IBaseFilter *pUsingFilter,
  25738.             /* [in] */ HANDLE hAbortEvent,
  25739.             /* [in] */ DWORD dwFlags);
  25740.         
  25741.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  25742.             IGraphConfig * This,
  25743.             /* [in] */ IGraphConfigCallback *pCallback,
  25744.             /* [in] */ PVOID pvContext,
  25745.             /* [in] */ DWORD dwFlags,
  25746.             /* [in] */ HANDLE hAbortEvent);
  25747.         
  25748.         HRESULT ( STDMETHODCALLTYPE *AddFilterToCache )( 
  25749.             IGraphConfig * This,
  25750.             /* [in] */ IBaseFilter *pFilter);
  25751.         
  25752.         HRESULT ( STDMETHODCALLTYPE *EnumCacheFilter )( 
  25753.             IGraphConfig * This,
  25754.             /* [out] */ IEnumFilters **pEnum);
  25755.         
  25756.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterFromCache )( 
  25757.             IGraphConfig * This,
  25758.             /* [in] */ IBaseFilter *pFilter);
  25759.         
  25760.         HRESULT ( STDMETHODCALLTYPE *GetStartTime )( 
  25761.             IGraphConfig * This,
  25762.             /* [out] */ REFERENCE_TIME *prtStart);
  25763.         
  25764.         HRESULT ( STDMETHODCALLTYPE *PushThroughData )( 
  25765.             IGraphConfig * This,
  25766.             /* [in] */ IPin *pOutputPin,
  25767.             /* [in] */ IPinConnection *pConnection,
  25768.             /* [in] */ HANDLE hEventAbort);
  25769.         
  25770.         HRESULT ( STDMETHODCALLTYPE *SetFilterFlags )( 
  25771.             IGraphConfig * This,
  25772.             /* [in] */ IBaseFilter *pFilter,
  25773.             /* [in] */ DWORD dwFlags);
  25774.         
  25775.         HRESULT ( STDMETHODCALLTYPE *GetFilterFlags )( 
  25776.             IGraphConfig * This,
  25777.             /* [in] */ IBaseFilter *pFilter,
  25778.             /* [out] */ DWORD *pdwFlags);
  25779.         
  25780.         HRESULT ( STDMETHODCALLTYPE *RemoveFilterEx )( 
  25781.             IGraphConfig * This,
  25782.             /* [in] */ IBaseFilter *pFilter,
  25783.             DWORD Flags);
  25784.         
  25785.         END_INTERFACE
  25786.     } IGraphConfigVtbl;
  25787.  
  25788.     interface IGraphConfig
  25789.     {
  25790.         CONST_VTBL struct IGraphConfigVtbl *lpVtbl;
  25791.     };
  25792.  
  25793.     
  25794.  
  25795. #ifdef COBJMACROS
  25796.  
  25797.  
  25798. #define IGraphConfig_QueryInterface(This,riid,ppvObject)    \
  25799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  25800.  
  25801. #define IGraphConfig_AddRef(This)    \
  25802.     (This)->lpVtbl -> AddRef(This)
  25803.  
  25804. #define IGraphConfig_Release(This)    \
  25805.     (This)->lpVtbl -> Release(This)
  25806.  
  25807.  
  25808. #define IGraphConfig_Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)    \
  25809.     (This)->lpVtbl -> Reconnect(This,pOutputPin,pInputPin,pmtFirstConnection,pUsingFilter,hAbortEvent,dwFlags)
  25810.  
  25811. #define IGraphConfig_Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)    \
  25812.     (This)->lpVtbl -> Reconfigure(This,pCallback,pvContext,dwFlags,hAbortEvent)
  25813.  
  25814. #define IGraphConfig_AddFilterToCache(This,pFilter)    \
  25815.     (This)->lpVtbl -> AddFilterToCache(This,pFilter)
  25816.  
  25817. #define IGraphConfig_EnumCacheFilter(This,pEnum)    \
  25818.     (This)->lpVtbl -> EnumCacheFilter(This,pEnum)
  25819.  
  25820. #define IGraphConfig_RemoveFilterFromCache(This,pFilter)    \
  25821.     (This)->lpVtbl -> RemoveFilterFromCache(This,pFilter)
  25822.  
  25823. #define IGraphConfig_GetStartTime(This,prtStart)    \
  25824.     (This)->lpVtbl -> GetStartTime(This,prtStart)
  25825.  
  25826. #define IGraphConfig_PushThroughData(This,pOutputPin,pConnection,hEventAbort)    \
  25827.     (This)->lpVtbl -> PushThroughData(This,pOutputPin,pConnection,hEventAbort)
  25828.  
  25829. #define IGraphConfig_SetFilterFlags(This,pFilter,dwFlags)    \
  25830.     (This)->lpVtbl -> SetFilterFlags(This,pFilter,dwFlags)
  25831.  
  25832. #define IGraphConfig_GetFilterFlags(This,pFilter,pdwFlags)    \
  25833.     (This)->lpVtbl -> GetFilterFlags(This,pFilter,pdwFlags)
  25834.  
  25835. #define IGraphConfig_RemoveFilterEx(This,pFilter,Flags)    \
  25836.     (This)->lpVtbl -> RemoveFilterEx(This,pFilter,Flags)
  25837.  
  25838. #endif /* COBJMACROS */
  25839.  
  25840.  
  25841. #endif     /* C style interface */
  25842.  
  25843.  
  25844.  
  25845. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconnect_Proxy( 
  25846.     IGraphConfig * This,
  25847.     /* [in] */ IPin *pOutputPin,
  25848.     /* [in] */ IPin *pInputPin,
  25849.     /* [in] */ const AM_MEDIA_TYPE *pmtFirstConnection,
  25850.     /* [in] */ IBaseFilter *pUsingFilter,
  25851.     /* [in] */ HANDLE hAbortEvent,
  25852.     /* [in] */ DWORD dwFlags);
  25853.  
  25854.  
  25855. void __RPC_STUB IGraphConfig_Reconnect_Stub(
  25856.     IRpcStubBuffer *This,
  25857.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25858.     PRPC_MESSAGE _pRpcMessage,
  25859.     DWORD *_pdwStubPhase);
  25860.  
  25861.  
  25862. HRESULT STDMETHODCALLTYPE IGraphConfig_Reconfigure_Proxy( 
  25863.     IGraphConfig * This,
  25864.     /* [in] */ IGraphConfigCallback *pCallback,
  25865.     /* [in] */ PVOID pvContext,
  25866.     /* [in] */ DWORD dwFlags,
  25867.     /* [in] */ HANDLE hAbortEvent);
  25868.  
  25869.  
  25870. void __RPC_STUB IGraphConfig_Reconfigure_Stub(
  25871.     IRpcStubBuffer *This,
  25872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25873.     PRPC_MESSAGE _pRpcMessage,
  25874.     DWORD *_pdwStubPhase);
  25875.  
  25876.  
  25877. HRESULT STDMETHODCALLTYPE IGraphConfig_AddFilterToCache_Proxy( 
  25878.     IGraphConfig * This,
  25879.     /* [in] */ IBaseFilter *pFilter);
  25880.  
  25881.  
  25882. void __RPC_STUB IGraphConfig_AddFilterToCache_Stub(
  25883.     IRpcStubBuffer *This,
  25884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25885.     PRPC_MESSAGE _pRpcMessage,
  25886.     DWORD *_pdwStubPhase);
  25887.  
  25888.  
  25889. HRESULT STDMETHODCALLTYPE IGraphConfig_EnumCacheFilter_Proxy( 
  25890.     IGraphConfig * This,
  25891.     /* [out] */ IEnumFilters **pEnum);
  25892.  
  25893.  
  25894. void __RPC_STUB IGraphConfig_EnumCacheFilter_Stub(
  25895.     IRpcStubBuffer *This,
  25896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25897.     PRPC_MESSAGE _pRpcMessage,
  25898.     DWORD *_pdwStubPhase);
  25899.  
  25900.  
  25901. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterFromCache_Proxy( 
  25902.     IGraphConfig * This,
  25903.     /* [in] */ IBaseFilter *pFilter);
  25904.  
  25905.  
  25906. void __RPC_STUB IGraphConfig_RemoveFilterFromCache_Stub(
  25907.     IRpcStubBuffer *This,
  25908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25909.     PRPC_MESSAGE _pRpcMessage,
  25910.     DWORD *_pdwStubPhase);
  25911.  
  25912.  
  25913. HRESULT STDMETHODCALLTYPE IGraphConfig_GetStartTime_Proxy( 
  25914.     IGraphConfig * This,
  25915.     /* [out] */ REFERENCE_TIME *prtStart);
  25916.  
  25917.  
  25918. void __RPC_STUB IGraphConfig_GetStartTime_Stub(
  25919.     IRpcStubBuffer *This,
  25920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25921.     PRPC_MESSAGE _pRpcMessage,
  25922.     DWORD *_pdwStubPhase);
  25923.  
  25924.  
  25925. HRESULT STDMETHODCALLTYPE IGraphConfig_PushThroughData_Proxy( 
  25926.     IGraphConfig * This,
  25927.     /* [in] */ IPin *pOutputPin,
  25928.     /* [in] */ IPinConnection *pConnection,
  25929.     /* [in] */ HANDLE hEventAbort);
  25930.  
  25931.  
  25932. void __RPC_STUB IGraphConfig_PushThroughData_Stub(
  25933.     IRpcStubBuffer *This,
  25934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25935.     PRPC_MESSAGE _pRpcMessage,
  25936.     DWORD *_pdwStubPhase);
  25937.  
  25938.  
  25939. HRESULT STDMETHODCALLTYPE IGraphConfig_SetFilterFlags_Proxy( 
  25940.     IGraphConfig * This,
  25941.     /* [in] */ IBaseFilter *pFilter,
  25942.     /* [in] */ DWORD dwFlags);
  25943.  
  25944.  
  25945. void __RPC_STUB IGraphConfig_SetFilterFlags_Stub(
  25946.     IRpcStubBuffer *This,
  25947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25948.     PRPC_MESSAGE _pRpcMessage,
  25949.     DWORD *_pdwStubPhase);
  25950.  
  25951.  
  25952. HRESULT STDMETHODCALLTYPE IGraphConfig_GetFilterFlags_Proxy( 
  25953.     IGraphConfig * This,
  25954.     /* [in] */ IBaseFilter *pFilter,
  25955.     /* [out] */ DWORD *pdwFlags);
  25956.  
  25957.  
  25958. void __RPC_STUB IGraphConfig_GetFilterFlags_Stub(
  25959.     IRpcStubBuffer *This,
  25960.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25961.     PRPC_MESSAGE _pRpcMessage,
  25962.     DWORD *_pdwStubPhase);
  25963.  
  25964.  
  25965. HRESULT STDMETHODCALLTYPE IGraphConfig_RemoveFilterEx_Proxy( 
  25966.     IGraphConfig * This,
  25967.     /* [in] */ IBaseFilter *pFilter,
  25968.     DWORD Flags);
  25969.  
  25970.  
  25971. void __RPC_STUB IGraphConfig_RemoveFilterEx_Stub(
  25972.     IRpcStubBuffer *This,
  25973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  25974.     PRPC_MESSAGE _pRpcMessage,
  25975.     DWORD *_pdwStubPhase);
  25976.  
  25977.  
  25978.  
  25979. #endif     /* __IGraphConfig_INTERFACE_DEFINED__ */
  25980.  
  25981.  
  25982. #ifndef __IGraphConfigCallback_INTERFACE_DEFINED__
  25983. #define __IGraphConfigCallback_INTERFACE_DEFINED__
  25984.  
  25985. /* interface IGraphConfigCallback */
  25986. /* [unique][uuid][object][local] */ 
  25987.  
  25988.  
  25989. EXTERN_C const IID IID_IGraphConfigCallback;
  25990.  
  25991. #if defined(__cplusplus) && !defined(CINTERFACE)
  25992.     
  25993.     MIDL_INTERFACE("ade0fd60-d19d-11d2-abf6-00a0c905f375")
  25994.     IGraphConfigCallback : public IUnknown
  25995.     {
  25996.     public:
  25997.         virtual HRESULT STDMETHODCALLTYPE Reconfigure( 
  25998.             PVOID pvContext,
  25999.             DWORD dwFlags) = 0;
  26000.         
  26001.     };
  26002.     
  26003. #else     /* C style interface */
  26004.  
  26005.     typedef struct IGraphConfigCallbackVtbl
  26006.     {
  26007.         BEGIN_INTERFACE
  26008.         
  26009.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26010.             IGraphConfigCallback * This,
  26011.             /* [in] */ REFIID riid,
  26012.             /* [iid_is][out] */ void **ppvObject);
  26013.         
  26014.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26015.             IGraphConfigCallback * This);
  26016.         
  26017.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26018.             IGraphConfigCallback * This);
  26019.         
  26020.         HRESULT ( STDMETHODCALLTYPE *Reconfigure )( 
  26021.             IGraphConfigCallback * This,
  26022.             PVOID pvContext,
  26023.             DWORD dwFlags);
  26024.         
  26025.         END_INTERFACE
  26026.     } IGraphConfigCallbackVtbl;
  26027.  
  26028.     interface IGraphConfigCallback
  26029.     {
  26030.         CONST_VTBL struct IGraphConfigCallbackVtbl *lpVtbl;
  26031.     };
  26032.  
  26033.     
  26034.  
  26035. #ifdef COBJMACROS
  26036.  
  26037.  
  26038. #define IGraphConfigCallback_QueryInterface(This,riid,ppvObject)    \
  26039.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26040.  
  26041. #define IGraphConfigCallback_AddRef(This)    \
  26042.     (This)->lpVtbl -> AddRef(This)
  26043.  
  26044. #define IGraphConfigCallback_Release(This)    \
  26045.     (This)->lpVtbl -> Release(This)
  26046.  
  26047.  
  26048. #define IGraphConfigCallback_Reconfigure(This,pvContext,dwFlags)    \
  26049.     (This)->lpVtbl -> Reconfigure(This,pvContext,dwFlags)
  26050.  
  26051. #endif /* COBJMACROS */
  26052.  
  26053.  
  26054. #endif     /* C style interface */
  26055.  
  26056.  
  26057.  
  26058. HRESULT STDMETHODCALLTYPE IGraphConfigCallback_Reconfigure_Proxy( 
  26059.     IGraphConfigCallback * This,
  26060.     PVOID pvContext,
  26061.     DWORD dwFlags);
  26062.  
  26063.  
  26064. void __RPC_STUB IGraphConfigCallback_Reconfigure_Stub(
  26065.     IRpcStubBuffer *This,
  26066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26067.     PRPC_MESSAGE _pRpcMessage,
  26068.     DWORD *_pdwStubPhase);
  26069.  
  26070.  
  26071.  
  26072. #endif     /* __IGraphConfigCallback_INTERFACE_DEFINED__ */
  26073.  
  26074.  
  26075. #ifndef __IFilterChain_INTERFACE_DEFINED__
  26076. #define __IFilterChain_INTERFACE_DEFINED__
  26077.  
  26078. /* interface IFilterChain */
  26079. /* [unique][uuid][object][local] */ 
  26080.  
  26081.  
  26082. EXTERN_C const IID IID_IFilterChain;
  26083.  
  26084. #if defined(__cplusplus) && !defined(CINTERFACE)
  26085.     
  26086.     MIDL_INTERFACE("DCFBDCF6-0DC2-45f5-9AB2-7C330EA09C29")
  26087.     IFilterChain : public IUnknown
  26088.     {
  26089.     public:
  26090.         virtual HRESULT STDMETHODCALLTYPE StartChain( 
  26091.             /* [in] */ IBaseFilter *pStartFilter,
  26092.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26093.         
  26094.         virtual HRESULT STDMETHODCALLTYPE PauseChain( 
  26095.             /* [in] */ IBaseFilter *pStartFilter,
  26096.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26097.         
  26098.         virtual HRESULT STDMETHODCALLTYPE StopChain( 
  26099.             /* [in] */ IBaseFilter *pStartFilter,
  26100.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26101.         
  26102.         virtual HRESULT STDMETHODCALLTYPE RemoveChain( 
  26103.             /* [in] */ IBaseFilter *pStartFilter,
  26104.             /* [in] */ IBaseFilter *pEndFilter) = 0;
  26105.         
  26106.     };
  26107.     
  26108. #else     /* C style interface */
  26109.  
  26110.     typedef struct IFilterChainVtbl
  26111.     {
  26112.         BEGIN_INTERFACE
  26113.         
  26114.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26115.             IFilterChain * This,
  26116.             /* [in] */ REFIID riid,
  26117.             /* [iid_is][out] */ void **ppvObject);
  26118.         
  26119.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26120.             IFilterChain * This);
  26121.         
  26122.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26123.             IFilterChain * This);
  26124.         
  26125.         HRESULT ( STDMETHODCALLTYPE *StartChain )( 
  26126.             IFilterChain * This,
  26127.             /* [in] */ IBaseFilter *pStartFilter,
  26128.             /* [in] */ IBaseFilter *pEndFilter);
  26129.         
  26130.         HRESULT ( STDMETHODCALLTYPE *PauseChain )( 
  26131.             IFilterChain * This,
  26132.             /* [in] */ IBaseFilter *pStartFilter,
  26133.             /* [in] */ IBaseFilter *pEndFilter);
  26134.         
  26135.         HRESULT ( STDMETHODCALLTYPE *StopChain )( 
  26136.             IFilterChain * This,
  26137.             /* [in] */ IBaseFilter *pStartFilter,
  26138.             /* [in] */ IBaseFilter *pEndFilter);
  26139.         
  26140.         HRESULT ( STDMETHODCALLTYPE *RemoveChain )( 
  26141.             IFilterChain * This,
  26142.             /* [in] */ IBaseFilter *pStartFilter,
  26143.             /* [in] */ IBaseFilter *pEndFilter);
  26144.         
  26145.         END_INTERFACE
  26146.     } IFilterChainVtbl;
  26147.  
  26148.     interface IFilterChain
  26149.     {
  26150.         CONST_VTBL struct IFilterChainVtbl *lpVtbl;
  26151.     };
  26152.  
  26153.     
  26154.  
  26155. #ifdef COBJMACROS
  26156.  
  26157.  
  26158. #define IFilterChain_QueryInterface(This,riid,ppvObject)    \
  26159.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26160.  
  26161. #define IFilterChain_AddRef(This)    \
  26162.     (This)->lpVtbl -> AddRef(This)
  26163.  
  26164. #define IFilterChain_Release(This)    \
  26165.     (This)->lpVtbl -> Release(This)
  26166.  
  26167.  
  26168. #define IFilterChain_StartChain(This,pStartFilter,pEndFilter)    \
  26169.     (This)->lpVtbl -> StartChain(This,pStartFilter,pEndFilter)
  26170.  
  26171. #define IFilterChain_PauseChain(This,pStartFilter,pEndFilter)    \
  26172.     (This)->lpVtbl -> PauseChain(This,pStartFilter,pEndFilter)
  26173.  
  26174. #define IFilterChain_StopChain(This,pStartFilter,pEndFilter)    \
  26175.     (This)->lpVtbl -> StopChain(This,pStartFilter,pEndFilter)
  26176.  
  26177. #define IFilterChain_RemoveChain(This,pStartFilter,pEndFilter)    \
  26178.     (This)->lpVtbl -> RemoveChain(This,pStartFilter,pEndFilter)
  26179.  
  26180. #endif /* COBJMACROS */
  26181.  
  26182.  
  26183. #endif     /* C style interface */
  26184.  
  26185.  
  26186.  
  26187. HRESULT STDMETHODCALLTYPE IFilterChain_StartChain_Proxy( 
  26188.     IFilterChain * This,
  26189.     /* [in] */ IBaseFilter *pStartFilter,
  26190.     /* [in] */ IBaseFilter *pEndFilter);
  26191.  
  26192.  
  26193. void __RPC_STUB IFilterChain_StartChain_Stub(
  26194.     IRpcStubBuffer *This,
  26195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26196.     PRPC_MESSAGE _pRpcMessage,
  26197.     DWORD *_pdwStubPhase);
  26198.  
  26199.  
  26200. HRESULT STDMETHODCALLTYPE IFilterChain_PauseChain_Proxy( 
  26201.     IFilterChain * This,
  26202.     /* [in] */ IBaseFilter *pStartFilter,
  26203.     /* [in] */ IBaseFilter *pEndFilter);
  26204.  
  26205.  
  26206. void __RPC_STUB IFilterChain_PauseChain_Stub(
  26207.     IRpcStubBuffer *This,
  26208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26209.     PRPC_MESSAGE _pRpcMessage,
  26210.     DWORD *_pdwStubPhase);
  26211.  
  26212.  
  26213. HRESULT STDMETHODCALLTYPE IFilterChain_StopChain_Proxy( 
  26214.     IFilterChain * This,
  26215.     /* [in] */ IBaseFilter *pStartFilter,
  26216.     /* [in] */ IBaseFilter *pEndFilter);
  26217.  
  26218.  
  26219. void __RPC_STUB IFilterChain_StopChain_Stub(
  26220.     IRpcStubBuffer *This,
  26221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26222.     PRPC_MESSAGE _pRpcMessage,
  26223.     DWORD *_pdwStubPhase);
  26224.  
  26225.  
  26226. HRESULT STDMETHODCALLTYPE IFilterChain_RemoveChain_Proxy( 
  26227.     IFilterChain * This,
  26228.     /* [in] */ IBaseFilter *pStartFilter,
  26229.     /* [in] */ IBaseFilter *pEndFilter);
  26230.  
  26231.  
  26232. void __RPC_STUB IFilterChain_RemoveChain_Stub(
  26233.     IRpcStubBuffer *This,
  26234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26235.     PRPC_MESSAGE _pRpcMessage,
  26236.     DWORD *_pdwStubPhase);
  26237.  
  26238.  
  26239.  
  26240. #endif     /* __IFilterChain_INTERFACE_DEFINED__ */
  26241.  
  26242.  
  26243. /* interface __MIDL_itf_strmif_0381 */
  26244. /* [local] */ 
  26245.  
  26246. // Restore the previous setting for C4201 compiler warning
  26247. #pragma warning(default:4201)
  26248.  
  26249.  
  26250. #if 0
  26251. typedef DWORD *LPDIRECTDRAW7;
  26252.  
  26253. typedef DWORD *LPDIRECTDRAWSURFACE7;
  26254.  
  26255. typedef DWORD *LPDDPIXELFORMAT;
  26256.  
  26257. typedef DWORD *LPBITMAPINFOHEADER;
  26258.  
  26259. typedef /* [public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_strmif_0381_0001
  26260.     {
  26261.     DWORD dw1;
  26262.     DWORD dw2;
  26263.     }     DDCOLORKEY;
  26264.  
  26265. typedef DDCOLORKEY *LPDDCOLORKEY;
  26266.  
  26267. #endif
  26268. #include <ddraw.h>
  26269.  
  26270.  
  26271.  
  26272.  
  26273.  
  26274.  
  26275.  
  26276.  
  26277.  
  26278.  
  26279.  
  26280.  
  26281. typedef /* [public] */ 
  26282. enum __MIDL___MIDL_itf_strmif_0381_0002
  26283.     {    VMRSample_SyncPoint    = 0x1,
  26284.     VMRSample_Preroll    = 0x2,
  26285.     VMRSample_Discontinuity    = 0x4,
  26286.     VMRSample_TimeValid    = 0x8
  26287.     }     VMRPresentationFlags;
  26288.  
  26289. typedef struct tagVMRPRESENTATIONINFO
  26290.     {
  26291.     DWORD dwFlags;
  26292.     LPDIRECTDRAWSURFACE7 lpSurf;
  26293.     REFERENCE_TIME rtStart;
  26294.     REFERENCE_TIME rtEnd;
  26295.     SIZE szAspectRatio;
  26296.     RECT rcSrc;
  26297.     RECT rcDst;
  26298.     DWORD dwTypeSpecificFlags;
  26299.     DWORD dwInterlaceFlags;
  26300.     }     VMRPRESENTATIONINFO;
  26301.  
  26302.  
  26303.  
  26304. extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_c_ifspec;
  26305. extern RPC_IF_HANDLE __MIDL_itf_strmif_0381_v0_0_s_ifspec;
  26306.  
  26307. #ifndef __IVMRImagePresenter_INTERFACE_DEFINED__
  26308. #define __IVMRImagePresenter_INTERFACE_DEFINED__
  26309.  
  26310. /* interface IVMRImagePresenter */
  26311. /* [unique][helpstring][uuid][local][object][local] */ 
  26312.  
  26313.  
  26314. EXTERN_C const IID IID_IVMRImagePresenter;
  26315.  
  26316. #if defined(__cplusplus) && !defined(CINTERFACE)
  26317.     
  26318.     MIDL_INTERFACE("CE704FE7-E71E-41fb-BAA2-C4403E1182F5")
  26319.     IVMRImagePresenter : public IUnknown
  26320.     {
  26321.     public:
  26322.         virtual HRESULT STDMETHODCALLTYPE StartPresenting( 
  26323.             /* [in] */ DWORD_PTR dwUserID) = 0;
  26324.         
  26325.         virtual HRESULT STDMETHODCALLTYPE StopPresenting( 
  26326.             /* [in] */ DWORD_PTR dwUserID) = 0;
  26327.         
  26328.         virtual HRESULT STDMETHODCALLTYPE PresentImage( 
  26329.             /* [in] */ DWORD_PTR dwUserID,
  26330.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo) = 0;
  26331.         
  26332.     };
  26333.     
  26334. #else     /* C style interface */
  26335.  
  26336.     typedef struct IVMRImagePresenterVtbl
  26337.     {
  26338.         BEGIN_INTERFACE
  26339.         
  26340.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26341.             IVMRImagePresenter * This,
  26342.             /* [in] */ REFIID riid,
  26343.             /* [iid_is][out] */ void **ppvObject);
  26344.         
  26345.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26346.             IVMRImagePresenter * This);
  26347.         
  26348.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26349.             IVMRImagePresenter * This);
  26350.         
  26351.         HRESULT ( STDMETHODCALLTYPE *StartPresenting )( 
  26352.             IVMRImagePresenter * This,
  26353.             /* [in] */ DWORD_PTR dwUserID);
  26354.         
  26355.         HRESULT ( STDMETHODCALLTYPE *StopPresenting )( 
  26356.             IVMRImagePresenter * This,
  26357.             /* [in] */ DWORD_PTR dwUserID);
  26358.         
  26359.         HRESULT ( STDMETHODCALLTYPE *PresentImage )( 
  26360.             IVMRImagePresenter * This,
  26361.             /* [in] */ DWORD_PTR dwUserID,
  26362.             /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  26363.         
  26364.         END_INTERFACE
  26365.     } IVMRImagePresenterVtbl;
  26366.  
  26367.     interface IVMRImagePresenter
  26368.     {
  26369.         CONST_VTBL struct IVMRImagePresenterVtbl *lpVtbl;
  26370.     };
  26371.  
  26372.     
  26373.  
  26374. #ifdef COBJMACROS
  26375.  
  26376.  
  26377. #define IVMRImagePresenter_QueryInterface(This,riid,ppvObject)    \
  26378.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26379.  
  26380. #define IVMRImagePresenter_AddRef(This)    \
  26381.     (This)->lpVtbl -> AddRef(This)
  26382.  
  26383. #define IVMRImagePresenter_Release(This)    \
  26384.     (This)->lpVtbl -> Release(This)
  26385.  
  26386.  
  26387. #define IVMRImagePresenter_StartPresenting(This,dwUserID)    \
  26388.     (This)->lpVtbl -> StartPresenting(This,dwUserID)
  26389.  
  26390. #define IVMRImagePresenter_StopPresenting(This,dwUserID)    \
  26391.     (This)->lpVtbl -> StopPresenting(This,dwUserID)
  26392.  
  26393. #define IVMRImagePresenter_PresentImage(This,dwUserID,lpPresInfo)    \
  26394.     (This)->lpVtbl -> PresentImage(This,dwUserID,lpPresInfo)
  26395.  
  26396. #endif /* COBJMACROS */
  26397.  
  26398.  
  26399. #endif     /* C style interface */
  26400.  
  26401.  
  26402.  
  26403. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StartPresenting_Proxy( 
  26404.     IVMRImagePresenter * This,
  26405.     /* [in] */ DWORD_PTR dwUserID);
  26406.  
  26407.  
  26408. void __RPC_STUB IVMRImagePresenter_StartPresenting_Stub(
  26409.     IRpcStubBuffer *This,
  26410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26411.     PRPC_MESSAGE _pRpcMessage,
  26412.     DWORD *_pdwStubPhase);
  26413.  
  26414.  
  26415. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_StopPresenting_Proxy( 
  26416.     IVMRImagePresenter * This,
  26417.     /* [in] */ DWORD_PTR dwUserID);
  26418.  
  26419.  
  26420. void __RPC_STUB IVMRImagePresenter_StopPresenting_Stub(
  26421.     IRpcStubBuffer *This,
  26422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26423.     PRPC_MESSAGE _pRpcMessage,
  26424.     DWORD *_pdwStubPhase);
  26425.  
  26426.  
  26427. HRESULT STDMETHODCALLTYPE IVMRImagePresenter_PresentImage_Proxy( 
  26428.     IVMRImagePresenter * This,
  26429.     /* [in] */ DWORD_PTR dwUserID,
  26430.     /* [in] */ VMRPRESENTATIONINFO *lpPresInfo);
  26431.  
  26432.  
  26433. void __RPC_STUB IVMRImagePresenter_PresentImage_Stub(
  26434.     IRpcStubBuffer *This,
  26435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26436.     PRPC_MESSAGE _pRpcMessage,
  26437.     DWORD *_pdwStubPhase);
  26438.  
  26439.  
  26440.  
  26441. #endif     /* __IVMRImagePresenter_INTERFACE_DEFINED__ */
  26442.  
  26443.  
  26444. /* interface __MIDL_itf_strmif_0382 */
  26445. /* [local] */ 
  26446.  
  26447. typedef /* [public] */ 
  26448. enum __MIDL___MIDL_itf_strmif_0382_0001
  26449.     {    AMAP_PIXELFORMAT_VALID    = 0x1,
  26450.     AMAP_3D_TARGET    = 0x2,
  26451.     AMAP_ALLOW_SYSMEM    = 0x4,
  26452.     AMAP_FORCE_SYSMEM    = 0x8,
  26453.     AMAP_DIRECTED_FLIP    = 0x10,
  26454.     AMAP_DXVA_TARGET    = 0x20
  26455.     }     VMRSurfaceAllocationFlags;
  26456.  
  26457. typedef struct tagVMRALLOCATIONINFO
  26458.     {
  26459.     DWORD dwFlags;
  26460.     LPBITMAPINFOHEADER lpHdr;
  26461.     LPDDPIXELFORMAT lpPixFmt;
  26462.     SIZE szAspectRatio;
  26463.     DWORD dwMinBuffers;
  26464.     DWORD dwMaxBuffers;
  26465.     DWORD dwInterlaceFlags;
  26466.     SIZE szNativeSize;
  26467.     }     VMRALLOCATIONINFO;
  26468.  
  26469.  
  26470.  
  26471. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_c_ifspec;
  26472. extern RPC_IF_HANDLE __MIDL_itf_strmif_0382_v0_0_s_ifspec;
  26473.  
  26474. #ifndef __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  26475. #define __IVMRSurfaceAllocator_INTERFACE_DEFINED__
  26476.  
  26477. /* interface IVMRSurfaceAllocator */
  26478. /* [unique][helpstring][uuid][local][object][local] */ 
  26479.  
  26480.  
  26481. EXTERN_C const IID IID_IVMRSurfaceAllocator;
  26482.  
  26483. #if defined(__cplusplus) && !defined(CINTERFACE)
  26484.     
  26485.     MIDL_INTERFACE("31ce832e-4484-458b-8cca-f4d7e3db0b52")
  26486.     IVMRSurfaceAllocator : public IUnknown
  26487.     {
  26488.     public:
  26489.         virtual HRESULT STDMETHODCALLTYPE AllocateSurface( 
  26490.             /* [in] */ DWORD_PTR dwUserID,
  26491.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  26492.             /* [out][in] */ DWORD *lpdwActualBuffers,
  26493.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  26494.         
  26495.         virtual HRESULT STDMETHODCALLTYPE FreeSurface( 
  26496.             /* [in] */ DWORD_PTR dwID) = 0;
  26497.         
  26498.         virtual HRESULT STDMETHODCALLTYPE PrepareSurface( 
  26499.             /* [in] */ DWORD_PTR dwUserID,
  26500.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  26501.             /* [in] */ DWORD dwSurfaceFlags) = 0;
  26502.         
  26503.         virtual HRESULT STDMETHODCALLTYPE AdviseNotify( 
  26504.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify) = 0;
  26505.         
  26506.     };
  26507.     
  26508. #else     /* C style interface */
  26509.  
  26510.     typedef struct IVMRSurfaceAllocatorVtbl
  26511.     {
  26512.         BEGIN_INTERFACE
  26513.         
  26514.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26515.             IVMRSurfaceAllocator * This,
  26516.             /* [in] */ REFIID riid,
  26517.             /* [iid_is][out] */ void **ppvObject);
  26518.         
  26519.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26520.             IVMRSurfaceAllocator * This);
  26521.         
  26522.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26523.             IVMRSurfaceAllocator * This);
  26524.         
  26525.         HRESULT ( STDMETHODCALLTYPE *AllocateSurface )( 
  26526.             IVMRSurfaceAllocator * This,
  26527.             /* [in] */ DWORD_PTR dwUserID,
  26528.             /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  26529.             /* [out][in] */ DWORD *lpdwActualBuffers,
  26530.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  26531.         
  26532.         HRESULT ( STDMETHODCALLTYPE *FreeSurface )( 
  26533.             IVMRSurfaceAllocator * This,
  26534.             /* [in] */ DWORD_PTR dwID);
  26535.         
  26536.         HRESULT ( STDMETHODCALLTYPE *PrepareSurface )( 
  26537.             IVMRSurfaceAllocator * This,
  26538.             /* [in] */ DWORD_PTR dwUserID,
  26539.             /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  26540.             /* [in] */ DWORD dwSurfaceFlags);
  26541.         
  26542.         HRESULT ( STDMETHODCALLTYPE *AdviseNotify )( 
  26543.             IVMRSurfaceAllocator * This,
  26544.             /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  26545.         
  26546.         END_INTERFACE
  26547.     } IVMRSurfaceAllocatorVtbl;
  26548.  
  26549.     interface IVMRSurfaceAllocator
  26550.     {
  26551.         CONST_VTBL struct IVMRSurfaceAllocatorVtbl *lpVtbl;
  26552.     };
  26553.  
  26554.     
  26555.  
  26556. #ifdef COBJMACROS
  26557.  
  26558.  
  26559. #define IVMRSurfaceAllocator_QueryInterface(This,riid,ppvObject)    \
  26560.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26561.  
  26562. #define IVMRSurfaceAllocator_AddRef(This)    \
  26563.     (This)->lpVtbl -> AddRef(This)
  26564.  
  26565. #define IVMRSurfaceAllocator_Release(This)    \
  26566.     (This)->lpVtbl -> Release(This)
  26567.  
  26568.  
  26569. #define IVMRSurfaceAllocator_AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)    \
  26570.     (This)->lpVtbl -> AllocateSurface(This,dwUserID,lpAllocInfo,lpdwActualBuffers,lplpSurface)
  26571.  
  26572. #define IVMRSurfaceAllocator_FreeSurface(This,dwID)    \
  26573.     (This)->lpVtbl -> FreeSurface(This,dwID)
  26574.  
  26575. #define IVMRSurfaceAllocator_PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)    \
  26576.     (This)->lpVtbl -> PrepareSurface(This,dwUserID,lpSurface,dwSurfaceFlags)
  26577.  
  26578. #define IVMRSurfaceAllocator_AdviseNotify(This,lpIVMRSurfAllocNotify)    \
  26579.     (This)->lpVtbl -> AdviseNotify(This,lpIVMRSurfAllocNotify)
  26580.  
  26581. #endif /* COBJMACROS */
  26582.  
  26583.  
  26584. #endif     /* C style interface */
  26585.  
  26586.  
  26587.  
  26588. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AllocateSurface_Proxy( 
  26589.     IVMRSurfaceAllocator * This,
  26590.     /* [in] */ DWORD_PTR dwUserID,
  26591.     /* [in] */ VMRALLOCATIONINFO *lpAllocInfo,
  26592.     /* [out][in] */ DWORD *lpdwActualBuffers,
  26593.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  26594.  
  26595.  
  26596. void __RPC_STUB IVMRSurfaceAllocator_AllocateSurface_Stub(
  26597.     IRpcStubBuffer *This,
  26598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26599.     PRPC_MESSAGE _pRpcMessage,
  26600.     DWORD *_pdwStubPhase);
  26601.  
  26602.  
  26603. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_FreeSurface_Proxy( 
  26604.     IVMRSurfaceAllocator * This,
  26605.     /* [in] */ DWORD_PTR dwID);
  26606.  
  26607.  
  26608. void __RPC_STUB IVMRSurfaceAllocator_FreeSurface_Stub(
  26609.     IRpcStubBuffer *This,
  26610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26611.     PRPC_MESSAGE _pRpcMessage,
  26612.     DWORD *_pdwStubPhase);
  26613.  
  26614.  
  26615. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_PrepareSurface_Proxy( 
  26616.     IVMRSurfaceAllocator * This,
  26617.     /* [in] */ DWORD_PTR dwUserID,
  26618.     /* [in] */ LPDIRECTDRAWSURFACE7 lpSurface,
  26619.     /* [in] */ DWORD dwSurfaceFlags);
  26620.  
  26621.  
  26622. void __RPC_STUB IVMRSurfaceAllocator_PrepareSurface_Stub(
  26623.     IRpcStubBuffer *This,
  26624.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26625.     PRPC_MESSAGE _pRpcMessage,
  26626.     DWORD *_pdwStubPhase);
  26627.  
  26628.  
  26629. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocator_AdviseNotify_Proxy( 
  26630.     IVMRSurfaceAllocator * This,
  26631.     /* [in] */ IVMRSurfaceAllocatorNotify *lpIVMRSurfAllocNotify);
  26632.  
  26633.  
  26634. void __RPC_STUB IVMRSurfaceAllocator_AdviseNotify_Stub(
  26635.     IRpcStubBuffer *This,
  26636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26637.     PRPC_MESSAGE _pRpcMessage,
  26638.     DWORD *_pdwStubPhase);
  26639.  
  26640.  
  26641.  
  26642. #endif     /* __IVMRSurfaceAllocator_INTERFACE_DEFINED__ */
  26643.  
  26644.  
  26645. #ifndef __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  26646. #define __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__
  26647.  
  26648. /* interface IVMRSurfaceAllocatorNotify */
  26649. /* [unique][helpstring][uuid][local][object][local] */ 
  26650.  
  26651.  
  26652. EXTERN_C const IID IID_IVMRSurfaceAllocatorNotify;
  26653.  
  26654. #if defined(__cplusplus) && !defined(CINTERFACE)
  26655.     
  26656.     MIDL_INTERFACE("aada05a8-5a4e-4729-af0b-cea27aed51e2")
  26657.     IVMRSurfaceAllocatorNotify : public IUnknown
  26658.     {
  26659.     public:
  26660.         virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( 
  26661.             /* [in] */ DWORD_PTR dwUserID,
  26662.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator) = 0;
  26663.         
  26664.         virtual HRESULT STDMETHODCALLTYPE SetDDrawDevice( 
  26665.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26666.             /* [in] */ HMONITOR hMonitor) = 0;
  26667.         
  26668.         virtual HRESULT STDMETHODCALLTYPE ChangeDDrawDevice( 
  26669.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26670.             /* [in] */ HMONITOR hMonitor) = 0;
  26671.         
  26672.         virtual HRESULT STDMETHODCALLTYPE RestoreDDrawSurfaces( void) = 0;
  26673.         
  26674.         virtual HRESULT STDMETHODCALLTYPE NotifyEvent( 
  26675.             /* [in] */ LONG EventCode,
  26676.             /* [in] */ LONG_PTR Param1,
  26677.             /* [in] */ LONG_PTR Param2) = 0;
  26678.         
  26679.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  26680.             /* [in] */ COLORREF clrBorder) = 0;
  26681.         
  26682.     };
  26683.     
  26684. #else     /* C style interface */
  26685.  
  26686.     typedef struct IVMRSurfaceAllocatorNotifyVtbl
  26687.     {
  26688.         BEGIN_INTERFACE
  26689.         
  26690.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26691.             IVMRSurfaceAllocatorNotify * This,
  26692.             /* [in] */ REFIID riid,
  26693.             /* [iid_is][out] */ void **ppvObject);
  26694.         
  26695.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26696.             IVMRSurfaceAllocatorNotify * This);
  26697.         
  26698.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26699.             IVMRSurfaceAllocatorNotify * This);
  26700.         
  26701.         HRESULT ( STDMETHODCALLTYPE *AdviseSurfaceAllocator )( 
  26702.             IVMRSurfaceAllocatorNotify * This,
  26703.             /* [in] */ DWORD_PTR dwUserID,
  26704.             /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  26705.         
  26706.         HRESULT ( STDMETHODCALLTYPE *SetDDrawDevice )( 
  26707.             IVMRSurfaceAllocatorNotify * This,
  26708.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26709.             /* [in] */ HMONITOR hMonitor);
  26710.         
  26711.         HRESULT ( STDMETHODCALLTYPE *ChangeDDrawDevice )( 
  26712.             IVMRSurfaceAllocatorNotify * This,
  26713.             /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26714.             /* [in] */ HMONITOR hMonitor);
  26715.         
  26716.         HRESULT ( STDMETHODCALLTYPE *RestoreDDrawSurfaces )( 
  26717.             IVMRSurfaceAllocatorNotify * This);
  26718.         
  26719.         HRESULT ( STDMETHODCALLTYPE *NotifyEvent )( 
  26720.             IVMRSurfaceAllocatorNotify * This,
  26721.             /* [in] */ LONG EventCode,
  26722.             /* [in] */ LONG_PTR Param1,
  26723.             /* [in] */ LONG_PTR Param2);
  26724.         
  26725.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  26726.             IVMRSurfaceAllocatorNotify * This,
  26727.             /* [in] */ COLORREF clrBorder);
  26728.         
  26729.         END_INTERFACE
  26730.     } IVMRSurfaceAllocatorNotifyVtbl;
  26731.  
  26732.     interface IVMRSurfaceAllocatorNotify
  26733.     {
  26734.         CONST_VTBL struct IVMRSurfaceAllocatorNotifyVtbl *lpVtbl;
  26735.     };
  26736.  
  26737.     
  26738.  
  26739. #ifdef COBJMACROS
  26740.  
  26741.  
  26742. #define IVMRSurfaceAllocatorNotify_QueryInterface(This,riid,ppvObject)    \
  26743.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  26744.  
  26745. #define IVMRSurfaceAllocatorNotify_AddRef(This)    \
  26746.     (This)->lpVtbl -> AddRef(This)
  26747.  
  26748. #define IVMRSurfaceAllocatorNotify_Release(This)    \
  26749.     (This)->lpVtbl -> Release(This)
  26750.  
  26751.  
  26752. #define IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)    \
  26753.     (This)->lpVtbl -> AdviseSurfaceAllocator(This,dwUserID,lpIVRMSurfaceAllocator)
  26754.  
  26755. #define IVMRSurfaceAllocatorNotify_SetDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  26756.     (This)->lpVtbl -> SetDDrawDevice(This,lpDDrawDevice,hMonitor)
  26757.  
  26758. #define IVMRSurfaceAllocatorNotify_ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)    \
  26759.     (This)->lpVtbl -> ChangeDDrawDevice(This,lpDDrawDevice,hMonitor)
  26760.  
  26761. #define IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces(This)    \
  26762.     (This)->lpVtbl -> RestoreDDrawSurfaces(This)
  26763.  
  26764. #define IVMRSurfaceAllocatorNotify_NotifyEvent(This,EventCode,Param1,Param2)    \
  26765.     (This)->lpVtbl -> NotifyEvent(This,EventCode,Param1,Param2)
  26766.  
  26767. #define IVMRSurfaceAllocatorNotify_SetBorderColor(This,clrBorder)    \
  26768.     (This)->lpVtbl -> SetBorderColor(This,clrBorder)
  26769.  
  26770. #endif /* COBJMACROS */
  26771.  
  26772.  
  26773. #endif     /* C style interface */
  26774.  
  26775.  
  26776.  
  26777. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Proxy( 
  26778.     IVMRSurfaceAllocatorNotify * This,
  26779.     /* [in] */ DWORD_PTR dwUserID,
  26780.     /* [in] */ IVMRSurfaceAllocator *lpIVRMSurfaceAllocator);
  26781.  
  26782.  
  26783. void __RPC_STUB IVMRSurfaceAllocatorNotify_AdviseSurfaceAllocator_Stub(
  26784.     IRpcStubBuffer *This,
  26785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26786.     PRPC_MESSAGE _pRpcMessage,
  26787.     DWORD *_pdwStubPhase);
  26788.  
  26789.  
  26790. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetDDrawDevice_Proxy( 
  26791.     IVMRSurfaceAllocatorNotify * This,
  26792.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26793.     /* [in] */ HMONITOR hMonitor);
  26794.  
  26795.  
  26796. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetDDrawDevice_Stub(
  26797.     IRpcStubBuffer *This,
  26798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26799.     PRPC_MESSAGE _pRpcMessage,
  26800.     DWORD *_pdwStubPhase);
  26801.  
  26802.  
  26803. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Proxy( 
  26804.     IVMRSurfaceAllocatorNotify * This,
  26805.     /* [in] */ LPDIRECTDRAW7 lpDDrawDevice,
  26806.     /* [in] */ HMONITOR hMonitor);
  26807.  
  26808.  
  26809. void __RPC_STUB IVMRSurfaceAllocatorNotify_ChangeDDrawDevice_Stub(
  26810.     IRpcStubBuffer *This,
  26811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26812.     PRPC_MESSAGE _pRpcMessage,
  26813.     DWORD *_pdwStubPhase);
  26814.  
  26815.  
  26816. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Proxy( 
  26817.     IVMRSurfaceAllocatorNotify * This);
  26818.  
  26819.  
  26820. void __RPC_STUB IVMRSurfaceAllocatorNotify_RestoreDDrawSurfaces_Stub(
  26821.     IRpcStubBuffer *This,
  26822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26823.     PRPC_MESSAGE _pRpcMessage,
  26824.     DWORD *_pdwStubPhase);
  26825.  
  26826.  
  26827. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_NotifyEvent_Proxy( 
  26828.     IVMRSurfaceAllocatorNotify * This,
  26829.     /* [in] */ LONG EventCode,
  26830.     /* [in] */ LONG_PTR Param1,
  26831.     /* [in] */ LONG_PTR Param2);
  26832.  
  26833.  
  26834. void __RPC_STUB IVMRSurfaceAllocatorNotify_NotifyEvent_Stub(
  26835.     IRpcStubBuffer *This,
  26836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26837.     PRPC_MESSAGE _pRpcMessage,
  26838.     DWORD *_pdwStubPhase);
  26839.  
  26840.  
  26841. HRESULT STDMETHODCALLTYPE IVMRSurfaceAllocatorNotify_SetBorderColor_Proxy( 
  26842.     IVMRSurfaceAllocatorNotify * This,
  26843.     /* [in] */ COLORREF clrBorder);
  26844.  
  26845.  
  26846. void __RPC_STUB IVMRSurfaceAllocatorNotify_SetBorderColor_Stub(
  26847.     IRpcStubBuffer *This,
  26848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  26849.     PRPC_MESSAGE _pRpcMessage,
  26850.     DWORD *_pdwStubPhase);
  26851.  
  26852.  
  26853.  
  26854. #endif     /* __IVMRSurfaceAllocatorNotify_INTERFACE_DEFINED__ */
  26855.  
  26856.  
  26857. /* interface __MIDL_itf_strmif_0384 */
  26858. /* [local] */ 
  26859.  
  26860. typedef /* [public] */ 
  26861. enum __MIDL___MIDL_itf_strmif_0384_0001
  26862.     {    VMR_ARMODE_NONE    = 0,
  26863.     VMR_ARMODE_LETTER_BOX    = VMR_ARMODE_NONE + 1
  26864.     }     VMR_ASPECT_RATIO_MODE;
  26865.  
  26866.  
  26867.  
  26868. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_c_ifspec;
  26869. extern RPC_IF_HANDLE __MIDL_itf_strmif_0384_v0_0_s_ifspec;
  26870.  
  26871. #ifndef __IVMRWindowlessControl_INTERFACE_DEFINED__
  26872. #define __IVMRWindowlessControl_INTERFACE_DEFINED__
  26873.  
  26874. /* interface IVMRWindowlessControl */
  26875. /* [unique][helpstring][uuid][local][object][local] */ 
  26876.  
  26877.  
  26878. EXTERN_C const IID IID_IVMRWindowlessControl;
  26879.  
  26880. #if defined(__cplusplus) && !defined(CINTERFACE)
  26881.     
  26882.     MIDL_INTERFACE("0eb1088c-4dcd-46f0-878f-39dae86a51b7")
  26883.     IVMRWindowlessControl : public IUnknown
  26884.     {
  26885.     public:
  26886.         virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( 
  26887.             /* [out] */ LONG *lpWidth,
  26888.             /* [out] */ LONG *lpHeight,
  26889.             /* [out] */ LONG *lpARWidth,
  26890.             /* [out] */ LONG *lpARHeight) = 0;
  26891.         
  26892.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( 
  26893.             /* [out] */ LONG *lpWidth,
  26894.             /* [out] */ LONG *lpHeight) = 0;
  26895.         
  26896.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( 
  26897.             /* [out] */ LONG *lpWidth,
  26898.             /* [out] */ LONG *lpHeight) = 0;
  26899.         
  26900.         virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( 
  26901.             /* [in] */ const LPRECT lpSRCRect,
  26902.             /* [in] */ const LPRECT lpDSTRect) = 0;
  26903.         
  26904.         virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( 
  26905.             /* [out] */ LPRECT lpSRCRect,
  26906.             /* [out] */ LPRECT lpDSTRect) = 0;
  26907.         
  26908.         virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( 
  26909.             /* [out] */ DWORD *lpAspectRatioMode) = 0;
  26910.         
  26911.         virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( 
  26912.             /* [in] */ DWORD AspectRatioMode) = 0;
  26913.         
  26914.         virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( 
  26915.             /* [in] */ HWND hwnd) = 0;
  26916.         
  26917.         virtual HRESULT STDMETHODCALLTYPE RepaintVideo( 
  26918.             /* [in] */ HWND hwnd,
  26919.             /* [in] */ HDC hdc) = 0;
  26920.         
  26921.         virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( void) = 0;
  26922.         
  26923.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  26924.             /* [out] */ BYTE **lpDib) = 0;
  26925.         
  26926.         virtual HRESULT STDMETHODCALLTYPE SetBorderColor( 
  26927.             /* [in] */ COLORREF Clr) = 0;
  26928.         
  26929.         virtual HRESULT STDMETHODCALLTYPE GetBorderColor( 
  26930.             /* [out] */ COLORREF *lpClr) = 0;
  26931.         
  26932.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  26933.             /* [in] */ COLORREF Clr) = 0;
  26934.         
  26935.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  26936.             /* [out] */ COLORREF *lpClr) = 0;
  26937.         
  26938.     };
  26939.     
  26940. #else     /* C style interface */
  26941.  
  26942.     typedef struct IVMRWindowlessControlVtbl
  26943.     {
  26944.         BEGIN_INTERFACE
  26945.         
  26946.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  26947.             IVMRWindowlessControl * This,
  26948.             /* [in] */ REFIID riid,
  26949.             /* [iid_is][out] */ void **ppvObject);
  26950.         
  26951.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  26952.             IVMRWindowlessControl * This);
  26953.         
  26954.         ULONG ( STDMETHODCALLTYPE *Release )( 
  26955.             IVMRWindowlessControl * This);
  26956.         
  26957.         HRESULT ( STDMETHODCALLTYPE *GetNativeVideoSize )( 
  26958.             IVMRWindowlessControl * This,
  26959.             /* [out] */ LONG *lpWidth,
  26960.             /* [out] */ LONG *lpHeight,
  26961.             /* [out] */ LONG *lpARWidth,
  26962.             /* [out] */ LONG *lpARHeight);
  26963.         
  26964.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealVideoSize )( 
  26965.             IVMRWindowlessControl * This,
  26966.             /* [out] */ LONG *lpWidth,
  26967.             /* [out] */ LONG *lpHeight);
  26968.         
  26969.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealVideoSize )( 
  26970.             IVMRWindowlessControl * This,
  26971.             /* [out] */ LONG *lpWidth,
  26972.             /* [out] */ LONG *lpHeight);
  26973.         
  26974.         HRESULT ( STDMETHODCALLTYPE *SetVideoPosition )( 
  26975.             IVMRWindowlessControl * This,
  26976.             /* [in] */ const LPRECT lpSRCRect,
  26977.             /* [in] */ const LPRECT lpDSTRect);
  26978.         
  26979.         HRESULT ( STDMETHODCALLTYPE *GetVideoPosition )( 
  26980.             IVMRWindowlessControl * This,
  26981.             /* [out] */ LPRECT lpSRCRect,
  26982.             /* [out] */ LPRECT lpDSTRect);
  26983.         
  26984.         HRESULT ( STDMETHODCALLTYPE *GetAspectRatioMode )( 
  26985.             IVMRWindowlessControl * This,
  26986.             /* [out] */ DWORD *lpAspectRatioMode);
  26987.         
  26988.         HRESULT ( STDMETHODCALLTYPE *SetAspectRatioMode )( 
  26989.             IVMRWindowlessControl * This,
  26990.             /* [in] */ DWORD AspectRatioMode);
  26991.         
  26992.         HRESULT ( STDMETHODCALLTYPE *SetVideoClippingWindow )( 
  26993.             IVMRWindowlessControl * This,
  26994.             /* [in] */ HWND hwnd);
  26995.         
  26996.         HRESULT ( STDMETHODCALLTYPE *RepaintVideo )( 
  26997.             IVMRWindowlessControl * This,
  26998.             /* [in] */ HWND hwnd,
  26999.             /* [in] */ HDC hdc);
  27000.         
  27001.         HRESULT ( STDMETHODCALLTYPE *DisplayModeChanged )( 
  27002.             IVMRWindowlessControl * This);
  27003.         
  27004.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  27005.             IVMRWindowlessControl * This,
  27006.             /* [out] */ BYTE **lpDib);
  27007.         
  27008.         HRESULT ( STDMETHODCALLTYPE *SetBorderColor )( 
  27009.             IVMRWindowlessControl * This,
  27010.             /* [in] */ COLORREF Clr);
  27011.         
  27012.         HRESULT ( STDMETHODCALLTYPE *GetBorderColor )( 
  27013.             IVMRWindowlessControl * This,
  27014.             /* [out] */ COLORREF *lpClr);
  27015.         
  27016.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  27017.             IVMRWindowlessControl * This,
  27018.             /* [in] */ COLORREF Clr);
  27019.         
  27020.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  27021.             IVMRWindowlessControl * This,
  27022.             /* [out] */ COLORREF *lpClr);
  27023.         
  27024.         END_INTERFACE
  27025.     } IVMRWindowlessControlVtbl;
  27026.  
  27027.     interface IVMRWindowlessControl
  27028.     {
  27029.         CONST_VTBL struct IVMRWindowlessControlVtbl *lpVtbl;
  27030.     };
  27031.  
  27032.     
  27033.  
  27034. #ifdef COBJMACROS
  27035.  
  27036.  
  27037. #define IVMRWindowlessControl_QueryInterface(This,riid,ppvObject)    \
  27038.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27039.  
  27040. #define IVMRWindowlessControl_AddRef(This)    \
  27041.     (This)->lpVtbl -> AddRef(This)
  27042.  
  27043. #define IVMRWindowlessControl_Release(This)    \
  27044.     (This)->lpVtbl -> Release(This)
  27045.  
  27046.  
  27047. #define IVMRWindowlessControl_GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)    \
  27048.     (This)->lpVtbl -> GetNativeVideoSize(This,lpWidth,lpHeight,lpARWidth,lpARHeight)
  27049.  
  27050. #define IVMRWindowlessControl_GetMinIdealVideoSize(This,lpWidth,lpHeight)    \
  27051.     (This)->lpVtbl -> GetMinIdealVideoSize(This,lpWidth,lpHeight)
  27052.  
  27053. #define IVMRWindowlessControl_GetMaxIdealVideoSize(This,lpWidth,lpHeight)    \
  27054.     (This)->lpVtbl -> GetMaxIdealVideoSize(This,lpWidth,lpHeight)
  27055.  
  27056. #define IVMRWindowlessControl_SetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  27057.     (This)->lpVtbl -> SetVideoPosition(This,lpSRCRect,lpDSTRect)
  27058.  
  27059. #define IVMRWindowlessControl_GetVideoPosition(This,lpSRCRect,lpDSTRect)    \
  27060.     (This)->lpVtbl -> GetVideoPosition(This,lpSRCRect,lpDSTRect)
  27061.  
  27062. #define IVMRWindowlessControl_GetAspectRatioMode(This,lpAspectRatioMode)    \
  27063.     (This)->lpVtbl -> GetAspectRatioMode(This,lpAspectRatioMode)
  27064.  
  27065. #define IVMRWindowlessControl_SetAspectRatioMode(This,AspectRatioMode)    \
  27066.     (This)->lpVtbl -> SetAspectRatioMode(This,AspectRatioMode)
  27067.  
  27068. #define IVMRWindowlessControl_SetVideoClippingWindow(This,hwnd)    \
  27069.     (This)->lpVtbl -> SetVideoClippingWindow(This,hwnd)
  27070.  
  27071. #define IVMRWindowlessControl_RepaintVideo(This,hwnd,hdc)    \
  27072.     (This)->lpVtbl -> RepaintVideo(This,hwnd,hdc)
  27073.  
  27074. #define IVMRWindowlessControl_DisplayModeChanged(This)    \
  27075.     (This)->lpVtbl -> DisplayModeChanged(This)
  27076.  
  27077. #define IVMRWindowlessControl_GetCurrentImage(This,lpDib)    \
  27078.     (This)->lpVtbl -> GetCurrentImage(This,lpDib)
  27079.  
  27080. #define IVMRWindowlessControl_SetBorderColor(This,Clr)    \
  27081.     (This)->lpVtbl -> SetBorderColor(This,Clr)
  27082.  
  27083. #define IVMRWindowlessControl_GetBorderColor(This,lpClr)    \
  27084.     (This)->lpVtbl -> GetBorderColor(This,lpClr)
  27085.  
  27086. #define IVMRWindowlessControl_SetColorKey(This,Clr)    \
  27087.     (This)->lpVtbl -> SetColorKey(This,Clr)
  27088.  
  27089. #define IVMRWindowlessControl_GetColorKey(This,lpClr)    \
  27090.     (This)->lpVtbl -> GetColorKey(This,lpClr)
  27091.  
  27092. #endif /* COBJMACROS */
  27093.  
  27094.  
  27095. #endif     /* C style interface */
  27096.  
  27097.  
  27098.  
  27099. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetNativeVideoSize_Proxy( 
  27100.     IVMRWindowlessControl * This,
  27101.     /* [out] */ LONG *lpWidth,
  27102.     /* [out] */ LONG *lpHeight,
  27103.     /* [out] */ LONG *lpARWidth,
  27104.     /* [out] */ LONG *lpARHeight);
  27105.  
  27106.  
  27107. void __RPC_STUB IVMRWindowlessControl_GetNativeVideoSize_Stub(
  27108.     IRpcStubBuffer *This,
  27109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27110.     PRPC_MESSAGE _pRpcMessage,
  27111.     DWORD *_pdwStubPhase);
  27112.  
  27113.  
  27114. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMinIdealVideoSize_Proxy( 
  27115.     IVMRWindowlessControl * This,
  27116.     /* [out] */ LONG *lpWidth,
  27117.     /* [out] */ LONG *lpHeight);
  27118.  
  27119.  
  27120. void __RPC_STUB IVMRWindowlessControl_GetMinIdealVideoSize_Stub(
  27121.     IRpcStubBuffer *This,
  27122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27123.     PRPC_MESSAGE _pRpcMessage,
  27124.     DWORD *_pdwStubPhase);
  27125.  
  27126.  
  27127. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetMaxIdealVideoSize_Proxy( 
  27128.     IVMRWindowlessControl * This,
  27129.     /* [out] */ LONG *lpWidth,
  27130.     /* [out] */ LONG *lpHeight);
  27131.  
  27132.  
  27133. void __RPC_STUB IVMRWindowlessControl_GetMaxIdealVideoSize_Stub(
  27134.     IRpcStubBuffer *This,
  27135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27136.     PRPC_MESSAGE _pRpcMessage,
  27137.     DWORD *_pdwStubPhase);
  27138.  
  27139.  
  27140. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoPosition_Proxy( 
  27141.     IVMRWindowlessControl * This,
  27142.     /* [in] */ const LPRECT lpSRCRect,
  27143.     /* [in] */ const LPRECT lpDSTRect);
  27144.  
  27145.  
  27146. void __RPC_STUB IVMRWindowlessControl_SetVideoPosition_Stub(
  27147.     IRpcStubBuffer *This,
  27148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27149.     PRPC_MESSAGE _pRpcMessage,
  27150.     DWORD *_pdwStubPhase);
  27151.  
  27152.  
  27153. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetVideoPosition_Proxy( 
  27154.     IVMRWindowlessControl * This,
  27155.     /* [out] */ LPRECT lpSRCRect,
  27156.     /* [out] */ LPRECT lpDSTRect);
  27157.  
  27158.  
  27159. void __RPC_STUB IVMRWindowlessControl_GetVideoPosition_Stub(
  27160.     IRpcStubBuffer *This,
  27161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27162.     PRPC_MESSAGE _pRpcMessage,
  27163.     DWORD *_pdwStubPhase);
  27164.  
  27165.  
  27166. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetAspectRatioMode_Proxy( 
  27167.     IVMRWindowlessControl * This,
  27168.     /* [out] */ DWORD *lpAspectRatioMode);
  27169.  
  27170.  
  27171. void __RPC_STUB IVMRWindowlessControl_GetAspectRatioMode_Stub(
  27172.     IRpcStubBuffer *This,
  27173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27174.     PRPC_MESSAGE _pRpcMessage,
  27175.     DWORD *_pdwStubPhase);
  27176.  
  27177.  
  27178. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetAspectRatioMode_Proxy( 
  27179.     IVMRWindowlessControl * This,
  27180.     /* [in] */ DWORD AspectRatioMode);
  27181.  
  27182.  
  27183. void __RPC_STUB IVMRWindowlessControl_SetAspectRatioMode_Stub(
  27184.     IRpcStubBuffer *This,
  27185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27186.     PRPC_MESSAGE _pRpcMessage,
  27187.     DWORD *_pdwStubPhase);
  27188.  
  27189.  
  27190. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetVideoClippingWindow_Proxy( 
  27191.     IVMRWindowlessControl * This,
  27192.     /* [in] */ HWND hwnd);
  27193.  
  27194.  
  27195. void __RPC_STUB IVMRWindowlessControl_SetVideoClippingWindow_Stub(
  27196.     IRpcStubBuffer *This,
  27197.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27198.     PRPC_MESSAGE _pRpcMessage,
  27199.     DWORD *_pdwStubPhase);
  27200.  
  27201.  
  27202. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_RepaintVideo_Proxy( 
  27203.     IVMRWindowlessControl * This,
  27204.     /* [in] */ HWND hwnd,
  27205.     /* [in] */ HDC hdc);
  27206.  
  27207.  
  27208. void __RPC_STUB IVMRWindowlessControl_RepaintVideo_Stub(
  27209.     IRpcStubBuffer *This,
  27210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27211.     PRPC_MESSAGE _pRpcMessage,
  27212.     DWORD *_pdwStubPhase);
  27213.  
  27214.  
  27215. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_DisplayModeChanged_Proxy( 
  27216.     IVMRWindowlessControl * This);
  27217.  
  27218.  
  27219. void __RPC_STUB IVMRWindowlessControl_DisplayModeChanged_Stub(
  27220.     IRpcStubBuffer *This,
  27221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27222.     PRPC_MESSAGE _pRpcMessage,
  27223.     DWORD *_pdwStubPhase);
  27224.  
  27225.  
  27226. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetCurrentImage_Proxy( 
  27227.     IVMRWindowlessControl * This,
  27228.     /* [out] */ BYTE **lpDib);
  27229.  
  27230.  
  27231. void __RPC_STUB IVMRWindowlessControl_GetCurrentImage_Stub(
  27232.     IRpcStubBuffer *This,
  27233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27234.     PRPC_MESSAGE _pRpcMessage,
  27235.     DWORD *_pdwStubPhase);
  27236.  
  27237.  
  27238. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetBorderColor_Proxy( 
  27239.     IVMRWindowlessControl * This,
  27240.     /* [in] */ COLORREF Clr);
  27241.  
  27242.  
  27243. void __RPC_STUB IVMRWindowlessControl_SetBorderColor_Stub(
  27244.     IRpcStubBuffer *This,
  27245.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27246.     PRPC_MESSAGE _pRpcMessage,
  27247.     DWORD *_pdwStubPhase);
  27248.  
  27249.  
  27250. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetBorderColor_Proxy( 
  27251.     IVMRWindowlessControl * This,
  27252.     /* [out] */ COLORREF *lpClr);
  27253.  
  27254.  
  27255. void __RPC_STUB IVMRWindowlessControl_GetBorderColor_Stub(
  27256.     IRpcStubBuffer *This,
  27257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27258.     PRPC_MESSAGE _pRpcMessage,
  27259.     DWORD *_pdwStubPhase);
  27260.  
  27261.  
  27262. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_SetColorKey_Proxy( 
  27263.     IVMRWindowlessControl * This,
  27264.     /* [in] */ COLORREF Clr);
  27265.  
  27266.  
  27267. void __RPC_STUB IVMRWindowlessControl_SetColorKey_Stub(
  27268.     IRpcStubBuffer *This,
  27269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27270.     PRPC_MESSAGE _pRpcMessage,
  27271.     DWORD *_pdwStubPhase);
  27272.  
  27273.  
  27274. HRESULT STDMETHODCALLTYPE IVMRWindowlessControl_GetColorKey_Proxy( 
  27275.     IVMRWindowlessControl * This,
  27276.     /* [out] */ COLORREF *lpClr);
  27277.  
  27278.  
  27279. void __RPC_STUB IVMRWindowlessControl_GetColorKey_Stub(
  27280.     IRpcStubBuffer *This,
  27281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27282.     PRPC_MESSAGE _pRpcMessage,
  27283.     DWORD *_pdwStubPhase);
  27284.  
  27285.  
  27286.  
  27287. #endif     /* __IVMRWindowlessControl_INTERFACE_DEFINED__ */
  27288.  
  27289.  
  27290. /* interface __MIDL_itf_strmif_0385 */
  27291. /* [local] */ 
  27292.  
  27293. typedef /* [public] */ 
  27294. enum __MIDL___MIDL_itf_strmif_0385_0001
  27295.     {    MixerPref_NoDecimation    = 0x1,
  27296.     MixerPref_DecimateOutput    = 0x2,
  27297.     MixerPref_DecimateMask    = 0xf,
  27298.     MixerPref_BiLinearFiltering    = 0x10,
  27299.     MixerPref_PointFiltering    = 0x20,
  27300.     MixerPref_FilteringMask    = 0xf0,
  27301.     MixerPref_RenderTargetRGB    = 0x100,
  27302.     MixerPref_RenderTargetYUV420    = 0x200,
  27303.     MixerPref_RenderTargetYUV422    = 0x400,
  27304.     MixerPref_RenderTargetYUV444    = 0x800,
  27305.     MixerPref_RenderTargetReserved    = 0xf000,
  27306.     MixerPref_RenderTargetMask    = 0xff00
  27307.     }     VMRMixerPrefs;
  27308.  
  27309. typedef struct _NORMALIZEDRECT
  27310.     {
  27311.     float left;
  27312.     float top;
  27313.     float right;
  27314.     float bottom;
  27315.     }     NORMALIZEDRECT;
  27316.  
  27317. typedef struct _NORMALIZEDRECT *PNORMALIZEDRECT;
  27318.  
  27319.  
  27320.  
  27321. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_c_ifspec;
  27322. extern RPC_IF_HANDLE __MIDL_itf_strmif_0385_v0_0_s_ifspec;
  27323.  
  27324. #ifndef __IVMRMixerControl_INTERFACE_DEFINED__
  27325. #define __IVMRMixerControl_INTERFACE_DEFINED__
  27326.  
  27327. /* interface IVMRMixerControl */
  27328. /* [unique][helpstring][uuid][local][object][local] */ 
  27329.  
  27330.  
  27331. EXTERN_C const IID IID_IVMRMixerControl;
  27332.  
  27333. #if defined(__cplusplus) && !defined(CINTERFACE)
  27334.     
  27335.     MIDL_INTERFACE("1c1a17b0-bed0-415d-974b-dc6696131599")
  27336.     IVMRMixerControl : public IUnknown
  27337.     {
  27338.     public:
  27339.         virtual HRESULT STDMETHODCALLTYPE SetAlpha( 
  27340.             /* [in] */ DWORD dwStreamID,
  27341.             /* [in] */ float Alpha) = 0;
  27342.         
  27343.         virtual HRESULT STDMETHODCALLTYPE GetAlpha( 
  27344.             /* [in] */ DWORD dwStreamID,
  27345.             /* [out] */ float *pAlpha) = 0;
  27346.         
  27347.         virtual HRESULT STDMETHODCALLTYPE SetZOrder( 
  27348.             /* [in] */ DWORD dwStreamID,
  27349.             /* [in] */ DWORD dwZ) = 0;
  27350.         
  27351.         virtual HRESULT STDMETHODCALLTYPE GetZOrder( 
  27352.             /* [in] */ DWORD dwStreamID,
  27353.             /* [out] */ DWORD *pZ) = 0;
  27354.         
  27355.         virtual HRESULT STDMETHODCALLTYPE SetOutputRect( 
  27356.             /* [in] */ DWORD dwStreamID,
  27357.             /* [in] */ const NORMALIZEDRECT *pRect) = 0;
  27358.         
  27359.         virtual HRESULT STDMETHODCALLTYPE GetOutputRect( 
  27360.             /* [in] */ DWORD dwStreamID,
  27361.             /* [out] */ NORMALIZEDRECT *pRect) = 0;
  27362.         
  27363.         virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( 
  27364.             /* [in] */ COLORREF ClrBkg) = 0;
  27365.         
  27366.         virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( 
  27367.             /* [in] */ COLORREF *lpClrBkg) = 0;
  27368.         
  27369.         virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( 
  27370.             /* [in] */ DWORD dwMixerPrefs) = 0;
  27371.         
  27372.         virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( 
  27373.             /* [out] */ DWORD *pdwMixerPrefs) = 0;
  27374.         
  27375.     };
  27376.     
  27377. #else     /* C style interface */
  27378.  
  27379.     typedef struct IVMRMixerControlVtbl
  27380.     {
  27381.         BEGIN_INTERFACE
  27382.         
  27383.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27384.             IVMRMixerControl * This,
  27385.             /* [in] */ REFIID riid,
  27386.             /* [iid_is][out] */ void **ppvObject);
  27387.         
  27388.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27389.             IVMRMixerControl * This);
  27390.         
  27391.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27392.             IVMRMixerControl * This);
  27393.         
  27394.         HRESULT ( STDMETHODCALLTYPE *SetAlpha )( 
  27395.             IVMRMixerControl * This,
  27396.             /* [in] */ DWORD dwStreamID,
  27397.             /* [in] */ float Alpha);
  27398.         
  27399.         HRESULT ( STDMETHODCALLTYPE *GetAlpha )( 
  27400.             IVMRMixerControl * This,
  27401.             /* [in] */ DWORD dwStreamID,
  27402.             /* [out] */ float *pAlpha);
  27403.         
  27404.         HRESULT ( STDMETHODCALLTYPE *SetZOrder )( 
  27405.             IVMRMixerControl * This,
  27406.             /* [in] */ DWORD dwStreamID,
  27407.             /* [in] */ DWORD dwZ);
  27408.         
  27409.         HRESULT ( STDMETHODCALLTYPE *GetZOrder )( 
  27410.             IVMRMixerControl * This,
  27411.             /* [in] */ DWORD dwStreamID,
  27412.             /* [out] */ DWORD *pZ);
  27413.         
  27414.         HRESULT ( STDMETHODCALLTYPE *SetOutputRect )( 
  27415.             IVMRMixerControl * This,
  27416.             /* [in] */ DWORD dwStreamID,
  27417.             /* [in] */ const NORMALIZEDRECT *pRect);
  27418.         
  27419.         HRESULT ( STDMETHODCALLTYPE *GetOutputRect )( 
  27420.             IVMRMixerControl * This,
  27421.             /* [in] */ DWORD dwStreamID,
  27422.             /* [out] */ NORMALIZEDRECT *pRect);
  27423.         
  27424.         HRESULT ( STDMETHODCALLTYPE *SetBackgroundClr )( 
  27425.             IVMRMixerControl * This,
  27426.             /* [in] */ COLORREF ClrBkg);
  27427.         
  27428.         HRESULT ( STDMETHODCALLTYPE *GetBackgroundClr )( 
  27429.             IVMRMixerControl * This,
  27430.             /* [in] */ COLORREF *lpClrBkg);
  27431.         
  27432.         HRESULT ( STDMETHODCALLTYPE *SetMixingPrefs )( 
  27433.             IVMRMixerControl * This,
  27434.             /* [in] */ DWORD dwMixerPrefs);
  27435.         
  27436.         HRESULT ( STDMETHODCALLTYPE *GetMixingPrefs )( 
  27437.             IVMRMixerControl * This,
  27438.             /* [out] */ DWORD *pdwMixerPrefs);
  27439.         
  27440.         END_INTERFACE
  27441.     } IVMRMixerControlVtbl;
  27442.  
  27443.     interface IVMRMixerControl
  27444.     {
  27445.         CONST_VTBL struct IVMRMixerControlVtbl *lpVtbl;
  27446.     };
  27447.  
  27448.     
  27449.  
  27450. #ifdef COBJMACROS
  27451.  
  27452.  
  27453. #define IVMRMixerControl_QueryInterface(This,riid,ppvObject)    \
  27454.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27455.  
  27456. #define IVMRMixerControl_AddRef(This)    \
  27457.     (This)->lpVtbl -> AddRef(This)
  27458.  
  27459. #define IVMRMixerControl_Release(This)    \
  27460.     (This)->lpVtbl -> Release(This)
  27461.  
  27462.  
  27463. #define IVMRMixerControl_SetAlpha(This,dwStreamID,Alpha)    \
  27464.     (This)->lpVtbl -> SetAlpha(This,dwStreamID,Alpha)
  27465.  
  27466. #define IVMRMixerControl_GetAlpha(This,dwStreamID,pAlpha)    \
  27467.     (This)->lpVtbl -> GetAlpha(This,dwStreamID,pAlpha)
  27468.  
  27469. #define IVMRMixerControl_SetZOrder(This,dwStreamID,dwZ)    \
  27470.     (This)->lpVtbl -> SetZOrder(This,dwStreamID,dwZ)
  27471.  
  27472. #define IVMRMixerControl_GetZOrder(This,dwStreamID,pZ)    \
  27473.     (This)->lpVtbl -> GetZOrder(This,dwStreamID,pZ)
  27474.  
  27475. #define IVMRMixerControl_SetOutputRect(This,dwStreamID,pRect)    \
  27476.     (This)->lpVtbl -> SetOutputRect(This,dwStreamID,pRect)
  27477.  
  27478. #define IVMRMixerControl_GetOutputRect(This,dwStreamID,pRect)    \
  27479.     (This)->lpVtbl -> GetOutputRect(This,dwStreamID,pRect)
  27480.  
  27481. #define IVMRMixerControl_SetBackgroundClr(This,ClrBkg)    \
  27482.     (This)->lpVtbl -> SetBackgroundClr(This,ClrBkg)
  27483.  
  27484. #define IVMRMixerControl_GetBackgroundClr(This,lpClrBkg)    \
  27485.     (This)->lpVtbl -> GetBackgroundClr(This,lpClrBkg)
  27486.  
  27487. #define IVMRMixerControl_SetMixingPrefs(This,dwMixerPrefs)    \
  27488.     (This)->lpVtbl -> SetMixingPrefs(This,dwMixerPrefs)
  27489.  
  27490. #define IVMRMixerControl_GetMixingPrefs(This,pdwMixerPrefs)    \
  27491.     (This)->lpVtbl -> GetMixingPrefs(This,pdwMixerPrefs)
  27492.  
  27493. #endif /* COBJMACROS */
  27494.  
  27495.  
  27496. #endif     /* C style interface */
  27497.  
  27498.  
  27499.  
  27500. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetAlpha_Proxy( 
  27501.     IVMRMixerControl * This,
  27502.     /* [in] */ DWORD dwStreamID,
  27503.     /* [in] */ float Alpha);
  27504.  
  27505.  
  27506. void __RPC_STUB IVMRMixerControl_SetAlpha_Stub(
  27507.     IRpcStubBuffer *This,
  27508.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27509.     PRPC_MESSAGE _pRpcMessage,
  27510.     DWORD *_pdwStubPhase);
  27511.  
  27512.  
  27513. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetAlpha_Proxy( 
  27514.     IVMRMixerControl * This,
  27515.     /* [in] */ DWORD dwStreamID,
  27516.     /* [out] */ float *pAlpha);
  27517.  
  27518.  
  27519. void __RPC_STUB IVMRMixerControl_GetAlpha_Stub(
  27520.     IRpcStubBuffer *This,
  27521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27522.     PRPC_MESSAGE _pRpcMessage,
  27523.     DWORD *_pdwStubPhase);
  27524.  
  27525.  
  27526. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetZOrder_Proxy( 
  27527.     IVMRMixerControl * This,
  27528.     /* [in] */ DWORD dwStreamID,
  27529.     /* [in] */ DWORD dwZ);
  27530.  
  27531.  
  27532. void __RPC_STUB IVMRMixerControl_SetZOrder_Stub(
  27533.     IRpcStubBuffer *This,
  27534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27535.     PRPC_MESSAGE _pRpcMessage,
  27536.     DWORD *_pdwStubPhase);
  27537.  
  27538.  
  27539. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetZOrder_Proxy( 
  27540.     IVMRMixerControl * This,
  27541.     /* [in] */ DWORD dwStreamID,
  27542.     /* [out] */ DWORD *pZ);
  27543.  
  27544.  
  27545. void __RPC_STUB IVMRMixerControl_GetZOrder_Stub(
  27546.     IRpcStubBuffer *This,
  27547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27548.     PRPC_MESSAGE _pRpcMessage,
  27549.     DWORD *_pdwStubPhase);
  27550.  
  27551.  
  27552. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetOutputRect_Proxy( 
  27553.     IVMRMixerControl * This,
  27554.     /* [in] */ DWORD dwStreamID,
  27555.     /* [in] */ const NORMALIZEDRECT *pRect);
  27556.  
  27557.  
  27558. void __RPC_STUB IVMRMixerControl_SetOutputRect_Stub(
  27559.     IRpcStubBuffer *This,
  27560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27561.     PRPC_MESSAGE _pRpcMessage,
  27562.     DWORD *_pdwStubPhase);
  27563.  
  27564.  
  27565. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetOutputRect_Proxy( 
  27566.     IVMRMixerControl * This,
  27567.     /* [in] */ DWORD dwStreamID,
  27568.     /* [out] */ NORMALIZEDRECT *pRect);
  27569.  
  27570.  
  27571. void __RPC_STUB IVMRMixerControl_GetOutputRect_Stub(
  27572.     IRpcStubBuffer *This,
  27573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27574.     PRPC_MESSAGE _pRpcMessage,
  27575.     DWORD *_pdwStubPhase);
  27576.  
  27577.  
  27578. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetBackgroundClr_Proxy( 
  27579.     IVMRMixerControl * This,
  27580.     /* [in] */ COLORREF ClrBkg);
  27581.  
  27582.  
  27583. void __RPC_STUB IVMRMixerControl_SetBackgroundClr_Stub(
  27584.     IRpcStubBuffer *This,
  27585.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27586.     PRPC_MESSAGE _pRpcMessage,
  27587.     DWORD *_pdwStubPhase);
  27588.  
  27589.  
  27590. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetBackgroundClr_Proxy( 
  27591.     IVMRMixerControl * This,
  27592.     /* [in] */ COLORREF *lpClrBkg);
  27593.  
  27594.  
  27595. void __RPC_STUB IVMRMixerControl_GetBackgroundClr_Stub(
  27596.     IRpcStubBuffer *This,
  27597.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27598.     PRPC_MESSAGE _pRpcMessage,
  27599.     DWORD *_pdwStubPhase);
  27600.  
  27601.  
  27602. HRESULT STDMETHODCALLTYPE IVMRMixerControl_SetMixingPrefs_Proxy( 
  27603.     IVMRMixerControl * This,
  27604.     /* [in] */ DWORD dwMixerPrefs);
  27605.  
  27606.  
  27607. void __RPC_STUB IVMRMixerControl_SetMixingPrefs_Stub(
  27608.     IRpcStubBuffer *This,
  27609.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27610.     PRPC_MESSAGE _pRpcMessage,
  27611.     DWORD *_pdwStubPhase);
  27612.  
  27613.  
  27614. HRESULT STDMETHODCALLTYPE IVMRMixerControl_GetMixingPrefs_Proxy( 
  27615.     IVMRMixerControl * This,
  27616.     /* [out] */ DWORD *pdwMixerPrefs);
  27617.  
  27618.  
  27619. void __RPC_STUB IVMRMixerControl_GetMixingPrefs_Stub(
  27620.     IRpcStubBuffer *This,
  27621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27622.     PRPC_MESSAGE _pRpcMessage,
  27623.     DWORD *_pdwStubPhase);
  27624.  
  27625.  
  27626.  
  27627. #endif     /* __IVMRMixerControl_INTERFACE_DEFINED__ */
  27628.  
  27629.  
  27630. /* interface __MIDL_itf_strmif_0386 */
  27631. /* [local] */ 
  27632.  
  27633. typedef struct tagVMRGUID
  27634.     {
  27635.     GUID *pGUID;
  27636.     GUID GUID;
  27637.     }     VMRGUID;
  27638.  
  27639. typedef struct tagVMRMONITORINFO
  27640.     {
  27641.     VMRGUID guid;
  27642.     RECT rcMonitor;
  27643.     HMONITOR hMon;
  27644.     DWORD dwFlags;
  27645.     wchar_t szDevice[ 32 ];
  27646.     wchar_t szDescription[ 256 ];
  27647.     LARGE_INTEGER liDriverVersion;
  27648.     DWORD dwVendorId;
  27649.     DWORD dwDeviceId;
  27650.     DWORD dwSubSysId;
  27651.     DWORD dwRevision;
  27652.     }     VMRMONITORINFO;
  27653.  
  27654.  
  27655.  
  27656. extern RPC_IF_HANDLE __MIDL_itf_strmif_0386_v0_0_c_ifspec;
  27657. extern RPC_IF_HANDLE __MIDL_itf_strmif_0386_v0_0_s_ifspec;
  27658.  
  27659. #ifndef __IVMRMonitorConfig_INTERFACE_DEFINED__
  27660. #define __IVMRMonitorConfig_INTERFACE_DEFINED__
  27661.  
  27662. /* interface IVMRMonitorConfig */
  27663. /* [unique][helpstring][uuid][local][object] */ 
  27664.  
  27665.  
  27666. EXTERN_C const IID IID_IVMRMonitorConfig;
  27667.  
  27668. #if defined(__cplusplus) && !defined(CINTERFACE)
  27669.     
  27670.     MIDL_INTERFACE("9cf0b1b6-fbaa-4b7f-88cf-cf1f130a0dce")
  27671.     IVMRMonitorConfig : public IUnknown
  27672.     {
  27673.     public:
  27674.         virtual HRESULT STDMETHODCALLTYPE SetMonitor( 
  27675.             /* [in] */ const VMRGUID *pGUID) = 0;
  27676.         
  27677.         virtual HRESULT STDMETHODCALLTYPE GetMonitor( 
  27678.             /* [out] */ VMRGUID *pGUID) = 0;
  27679.         
  27680.         virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( 
  27681.             /* [in] */ const VMRGUID *pGUID) = 0;
  27682.         
  27683.         virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( 
  27684.             /* [out] */ VMRGUID *pGUID) = 0;
  27685.         
  27686.         virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( 
  27687.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  27688.             /* [in] */ DWORD dwMaxInfoArraySize,
  27689.             /* [out] */ DWORD *pdwNumDevices) = 0;
  27690.         
  27691.     };
  27692.     
  27693. #else     /* C style interface */
  27694.  
  27695.     typedef struct IVMRMonitorConfigVtbl
  27696.     {
  27697.         BEGIN_INTERFACE
  27698.         
  27699.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27700.             IVMRMonitorConfig * This,
  27701.             /* [in] */ REFIID riid,
  27702.             /* [iid_is][out] */ void **ppvObject);
  27703.         
  27704.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27705.             IVMRMonitorConfig * This);
  27706.         
  27707.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27708.             IVMRMonitorConfig * This);
  27709.         
  27710.         HRESULT ( STDMETHODCALLTYPE *SetMonitor )( 
  27711.             IVMRMonitorConfig * This,
  27712.             /* [in] */ const VMRGUID *pGUID);
  27713.         
  27714.         HRESULT ( STDMETHODCALLTYPE *GetMonitor )( 
  27715.             IVMRMonitorConfig * This,
  27716.             /* [out] */ VMRGUID *pGUID);
  27717.         
  27718.         HRESULT ( STDMETHODCALLTYPE *SetDefaultMonitor )( 
  27719.             IVMRMonitorConfig * This,
  27720.             /* [in] */ const VMRGUID *pGUID);
  27721.         
  27722.         HRESULT ( STDMETHODCALLTYPE *GetDefaultMonitor )( 
  27723.             IVMRMonitorConfig * This,
  27724.             /* [out] */ VMRGUID *pGUID);
  27725.         
  27726.         HRESULT ( STDMETHODCALLTYPE *GetAvailableMonitors )( 
  27727.             IVMRMonitorConfig * This,
  27728.             /* [size_is][out] */ VMRMONITORINFO *pInfo,
  27729.             /* [in] */ DWORD dwMaxInfoArraySize,
  27730.             /* [out] */ DWORD *pdwNumDevices);
  27731.         
  27732.         END_INTERFACE
  27733.     } IVMRMonitorConfigVtbl;
  27734.  
  27735.     interface IVMRMonitorConfig
  27736.     {
  27737.         CONST_VTBL struct IVMRMonitorConfigVtbl *lpVtbl;
  27738.     };
  27739.  
  27740.     
  27741.  
  27742. #ifdef COBJMACROS
  27743.  
  27744.  
  27745. #define IVMRMonitorConfig_QueryInterface(This,riid,ppvObject)    \
  27746.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27747.  
  27748. #define IVMRMonitorConfig_AddRef(This)    \
  27749.     (This)->lpVtbl -> AddRef(This)
  27750.  
  27751. #define IVMRMonitorConfig_Release(This)    \
  27752.     (This)->lpVtbl -> Release(This)
  27753.  
  27754.  
  27755. #define IVMRMonitorConfig_SetMonitor(This,pGUID)    \
  27756.     (This)->lpVtbl -> SetMonitor(This,pGUID)
  27757.  
  27758. #define IVMRMonitorConfig_GetMonitor(This,pGUID)    \
  27759.     (This)->lpVtbl -> GetMonitor(This,pGUID)
  27760.  
  27761. #define IVMRMonitorConfig_SetDefaultMonitor(This,pGUID)    \
  27762.     (This)->lpVtbl -> SetDefaultMonitor(This,pGUID)
  27763.  
  27764. #define IVMRMonitorConfig_GetDefaultMonitor(This,pGUID)    \
  27765.     (This)->lpVtbl -> GetDefaultMonitor(This,pGUID)
  27766.  
  27767. #define IVMRMonitorConfig_GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)    \
  27768.     (This)->lpVtbl -> GetAvailableMonitors(This,pInfo,dwMaxInfoArraySize,pdwNumDevices)
  27769.  
  27770. #endif /* COBJMACROS */
  27771.  
  27772.  
  27773. #endif     /* C style interface */
  27774.  
  27775.  
  27776.  
  27777. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetMonitor_Proxy( 
  27778.     IVMRMonitorConfig * This,
  27779.     /* [in] */ const VMRGUID *pGUID);
  27780.  
  27781.  
  27782. void __RPC_STUB IVMRMonitorConfig_SetMonitor_Stub(
  27783.     IRpcStubBuffer *This,
  27784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27785.     PRPC_MESSAGE _pRpcMessage,
  27786.     DWORD *_pdwStubPhase);
  27787.  
  27788.  
  27789. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetMonitor_Proxy( 
  27790.     IVMRMonitorConfig * This,
  27791.     /* [out] */ VMRGUID *pGUID);
  27792.  
  27793.  
  27794. void __RPC_STUB IVMRMonitorConfig_GetMonitor_Stub(
  27795.     IRpcStubBuffer *This,
  27796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27797.     PRPC_MESSAGE _pRpcMessage,
  27798.     DWORD *_pdwStubPhase);
  27799.  
  27800.  
  27801. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_SetDefaultMonitor_Proxy( 
  27802.     IVMRMonitorConfig * This,
  27803.     /* [in] */ const VMRGUID *pGUID);
  27804.  
  27805.  
  27806. void __RPC_STUB IVMRMonitorConfig_SetDefaultMonitor_Stub(
  27807.     IRpcStubBuffer *This,
  27808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27809.     PRPC_MESSAGE _pRpcMessage,
  27810.     DWORD *_pdwStubPhase);
  27811.  
  27812.  
  27813. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetDefaultMonitor_Proxy( 
  27814.     IVMRMonitorConfig * This,
  27815.     /* [out] */ VMRGUID *pGUID);
  27816.  
  27817.  
  27818. void __RPC_STUB IVMRMonitorConfig_GetDefaultMonitor_Stub(
  27819.     IRpcStubBuffer *This,
  27820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27821.     PRPC_MESSAGE _pRpcMessage,
  27822.     DWORD *_pdwStubPhase);
  27823.  
  27824.  
  27825. HRESULT STDMETHODCALLTYPE IVMRMonitorConfig_GetAvailableMonitors_Proxy( 
  27826.     IVMRMonitorConfig * This,
  27827.     /* [size_is][out] */ VMRMONITORINFO *pInfo,
  27828.     /* [in] */ DWORD dwMaxInfoArraySize,
  27829.     /* [out] */ DWORD *pdwNumDevices);
  27830.  
  27831.  
  27832. void __RPC_STUB IVMRMonitorConfig_GetAvailableMonitors_Stub(
  27833.     IRpcStubBuffer *This,
  27834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  27835.     PRPC_MESSAGE _pRpcMessage,
  27836.     DWORD *_pdwStubPhase);
  27837.  
  27838.  
  27839.  
  27840. #endif     /* __IVMRMonitorConfig_INTERFACE_DEFINED__ */
  27841.  
  27842.  
  27843. /* interface __MIDL_itf_strmif_0387 */
  27844. /* [local] */ 
  27845.  
  27846. typedef /* [public] */ 
  27847. enum __MIDL___MIDL_itf_strmif_0387_0001
  27848.     {    RenderPrefs_ForceOffscreen    = 0x1,
  27849.     RenderPrefs_ForceOverlays    = 0x2,
  27850.     RenderPrefs_AllowOverlays    = 0,
  27851.     RenderPrefs_AllowOffscreen    = 0,
  27852.     RenderPrefs_DoNotRenderColorKeyAndBorder    = 0x8,
  27853.     RenderPrefs_RestrictToInitialMonitor    = 0x10,
  27854.     RenderPrefs_PreferAGPMemWhenMixing    = 0x20,
  27855.     RenderPrefs_Mask    = 0x3f
  27856.     }     VMRRenderPrefs;
  27857.  
  27858. typedef /* [public] */ 
  27859. enum __MIDL___MIDL_itf_strmif_0387_0002
  27860.     {    VMRMode_Windowed    = 0x1,
  27861.     VMRMode_Windowless    = 0x2,
  27862.     VMRMode_Renderless    = 0x4,
  27863.     VMRMode_Mask    = 0x7
  27864.     }     VMRMode;
  27865.  
  27866.  
  27867. enum __MIDL___MIDL_itf_strmif_0387_0003
  27868.     {    MAX_NUMBER_OF_STREAMS    = 16
  27869.     } ;
  27870.  
  27871.  
  27872. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_c_ifspec;
  27873. extern RPC_IF_HANDLE __MIDL_itf_strmif_0387_v0_0_s_ifspec;
  27874.  
  27875. #ifndef __IVMRFilterConfig_INTERFACE_DEFINED__
  27876. #define __IVMRFilterConfig_INTERFACE_DEFINED__
  27877.  
  27878. /* interface IVMRFilterConfig */
  27879. /* [unique][helpstring][uuid][local][object] */ 
  27880.  
  27881.  
  27882. EXTERN_C const IID IID_IVMRFilterConfig;
  27883.  
  27884. #if defined(__cplusplus) && !defined(CINTERFACE)
  27885.     
  27886.     MIDL_INTERFACE("9e5530c5-7034-48b4-bb46-0b8a6efc8e36")
  27887.     IVMRFilterConfig : public IUnknown
  27888.     {
  27889.     public:
  27890.         virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( 
  27891.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor) = 0;
  27892.         
  27893.         virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( 
  27894.             /* [in] */ DWORD dwMaxStreams) = 0;
  27895.         
  27896.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( 
  27897.             /* [out] */ DWORD *pdwMaxStreams) = 0;
  27898.         
  27899.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  27900.             /* [in] */ DWORD dwRenderFlags) = 0;
  27901.         
  27902.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  27903.             /* [out] */ DWORD *pdwRenderFlags) = 0;
  27904.         
  27905.         virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( 
  27906.             /* [in] */ DWORD Mode) = 0;
  27907.         
  27908.         virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( 
  27909.             /* [out] */ DWORD *pMode) = 0;
  27910.         
  27911.     };
  27912.     
  27913. #else     /* C style interface */
  27914.  
  27915.     typedef struct IVMRFilterConfigVtbl
  27916.     {
  27917.         BEGIN_INTERFACE
  27918.         
  27919.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  27920.             IVMRFilterConfig * This,
  27921.             /* [in] */ REFIID riid,
  27922.             /* [iid_is][out] */ void **ppvObject);
  27923.         
  27924.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  27925.             IVMRFilterConfig * This);
  27926.         
  27927.         ULONG ( STDMETHODCALLTYPE *Release )( 
  27928.             IVMRFilterConfig * This);
  27929.         
  27930.         HRESULT ( STDMETHODCALLTYPE *SetImageCompositor )( 
  27931.             IVMRFilterConfig * This,
  27932.             /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  27933.         
  27934.         HRESULT ( STDMETHODCALLTYPE *SetNumberOfStreams )( 
  27935.             IVMRFilterConfig * This,
  27936.             /* [in] */ DWORD dwMaxStreams);
  27937.         
  27938.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfStreams )( 
  27939.             IVMRFilterConfig * This,
  27940.             /* [out] */ DWORD *pdwMaxStreams);
  27941.         
  27942.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  27943.             IVMRFilterConfig * This,
  27944.             /* [in] */ DWORD dwRenderFlags);
  27945.         
  27946.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  27947.             IVMRFilterConfig * This,
  27948.             /* [out] */ DWORD *pdwRenderFlags);
  27949.         
  27950.         HRESULT ( STDMETHODCALLTYPE *SetRenderingMode )( 
  27951.             IVMRFilterConfig * This,
  27952.             /* [in] */ DWORD Mode);
  27953.         
  27954.         HRESULT ( STDMETHODCALLTYPE *GetRenderingMode )( 
  27955.             IVMRFilterConfig * This,
  27956.             /* [out] */ DWORD *pMode);
  27957.         
  27958.         END_INTERFACE
  27959.     } IVMRFilterConfigVtbl;
  27960.  
  27961.     interface IVMRFilterConfig
  27962.     {
  27963.         CONST_VTBL struct IVMRFilterConfigVtbl *lpVtbl;
  27964.     };
  27965.  
  27966.     
  27967.  
  27968. #ifdef COBJMACROS
  27969.  
  27970.  
  27971. #define IVMRFilterConfig_QueryInterface(This,riid,ppvObject)    \
  27972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  27973.  
  27974. #define IVMRFilterConfig_AddRef(This)    \
  27975.     (This)->lpVtbl -> AddRef(This)
  27976.  
  27977. #define IVMRFilterConfig_Release(This)    \
  27978.     (This)->lpVtbl -> Release(This)
  27979.  
  27980.  
  27981. #define IVMRFilterConfig_SetImageCompositor(This,lpVMRImgCompositor)    \
  27982.     (This)->lpVtbl -> SetImageCompositor(This,lpVMRImgCompositor)
  27983.  
  27984. #define IVMRFilterConfig_SetNumberOfStreams(This,dwMaxStreams)    \
  27985.     (This)->lpVtbl -> SetNumberOfStreams(This,dwMaxStreams)
  27986.  
  27987. #define IVMRFilterConfig_GetNumberOfStreams(This,pdwMaxStreams)    \
  27988.     (This)->lpVtbl -> GetNumberOfStreams(This,pdwMaxStreams)
  27989.  
  27990. #define IVMRFilterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  27991.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  27992.  
  27993. #define IVMRFilterConfig_GetRenderingPrefs(This,pdwRenderFlags)    \
  27994.     (This)->lpVtbl -> GetRenderingPrefs(This,pdwRenderFlags)
  27995.  
  27996. #define IVMRFilterConfig_SetRenderingMode(This,Mode)    \
  27997.     (This)->lpVtbl -> SetRenderingMode(This,Mode)
  27998.  
  27999. #define IVMRFilterConfig_GetRenderingMode(This,pMode)    \
  28000.     (This)->lpVtbl -> GetRenderingMode(This,pMode)
  28001.  
  28002. #endif /* COBJMACROS */
  28003.  
  28004.  
  28005. #endif     /* C style interface */
  28006.  
  28007.  
  28008.  
  28009. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetImageCompositor_Proxy( 
  28010.     IVMRFilterConfig * This,
  28011.     /* [in] */ IVMRImageCompositor *lpVMRImgCompositor);
  28012.  
  28013.  
  28014. void __RPC_STUB IVMRFilterConfig_SetImageCompositor_Stub(
  28015.     IRpcStubBuffer *This,
  28016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28017.     PRPC_MESSAGE _pRpcMessage,
  28018.     DWORD *_pdwStubPhase);
  28019.  
  28020.  
  28021. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetNumberOfStreams_Proxy( 
  28022.     IVMRFilterConfig * This,
  28023.     /* [in] */ DWORD dwMaxStreams);
  28024.  
  28025.  
  28026. void __RPC_STUB IVMRFilterConfig_SetNumberOfStreams_Stub(
  28027.     IRpcStubBuffer *This,
  28028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28029.     PRPC_MESSAGE _pRpcMessage,
  28030.     DWORD *_pdwStubPhase);
  28031.  
  28032.  
  28033. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetNumberOfStreams_Proxy( 
  28034.     IVMRFilterConfig * This,
  28035.     /* [out] */ DWORD *pdwMaxStreams);
  28036.  
  28037.  
  28038. void __RPC_STUB IVMRFilterConfig_GetNumberOfStreams_Stub(
  28039.     IRpcStubBuffer *This,
  28040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28041.     PRPC_MESSAGE _pRpcMessage,
  28042.     DWORD *_pdwStubPhase);
  28043.  
  28044.  
  28045. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingPrefs_Proxy( 
  28046.     IVMRFilterConfig * This,
  28047.     /* [in] */ DWORD dwRenderFlags);
  28048.  
  28049.  
  28050. void __RPC_STUB IVMRFilterConfig_SetRenderingPrefs_Stub(
  28051.     IRpcStubBuffer *This,
  28052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28053.     PRPC_MESSAGE _pRpcMessage,
  28054.     DWORD *_pdwStubPhase);
  28055.  
  28056.  
  28057. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingPrefs_Proxy( 
  28058.     IVMRFilterConfig * This,
  28059.     /* [out] */ DWORD *pdwRenderFlags);
  28060.  
  28061.  
  28062. void __RPC_STUB IVMRFilterConfig_GetRenderingPrefs_Stub(
  28063.     IRpcStubBuffer *This,
  28064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28065.     PRPC_MESSAGE _pRpcMessage,
  28066.     DWORD *_pdwStubPhase);
  28067.  
  28068.  
  28069. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_SetRenderingMode_Proxy( 
  28070.     IVMRFilterConfig * This,
  28071.     /* [in] */ DWORD Mode);
  28072.  
  28073.  
  28074. void __RPC_STUB IVMRFilterConfig_SetRenderingMode_Stub(
  28075.     IRpcStubBuffer *This,
  28076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28077.     PRPC_MESSAGE _pRpcMessage,
  28078.     DWORD *_pdwStubPhase);
  28079.  
  28080.  
  28081. HRESULT STDMETHODCALLTYPE IVMRFilterConfig_GetRenderingMode_Proxy( 
  28082.     IVMRFilterConfig * This,
  28083.     /* [out] */ DWORD *pMode);
  28084.  
  28085.  
  28086. void __RPC_STUB IVMRFilterConfig_GetRenderingMode_Stub(
  28087.     IRpcStubBuffer *This,
  28088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28089.     PRPC_MESSAGE _pRpcMessage,
  28090.     DWORD *_pdwStubPhase);
  28091.  
  28092.  
  28093.  
  28094. #endif     /* __IVMRFilterConfig_INTERFACE_DEFINED__ */
  28095.  
  28096.  
  28097. /* interface __MIDL_itf_strmif_0388 */
  28098. /* [local] */ 
  28099.  
  28100. typedef struct _VMRALPHABITMAP
  28101.     {
  28102.     DWORD dwFlags;
  28103.     HDC hdc;
  28104.     LPDIRECTDRAWSURFACE7 pDDS;
  28105.     RECT rSrc;
  28106.     NORMALIZEDRECT rDest;
  28107.     FLOAT fAlpha;
  28108.     COLORREF clrSrcKey;
  28109.     }     VMRALPHABITMAP;
  28110.  
  28111. typedef struct _VMRALPHABITMAP *PVMRALPHABITMAP;
  28112.  
  28113. #define VMRBITMAP_DISABLE            0x00000001
  28114. #define VMRBITMAP_HDC                0x00000002
  28115. #define VMRBITMAP_ENTIREDDS          0x00000004
  28116. #define VMRBITMAP_SRCCOLORKEY        0x00000008
  28117. #define VMRBITMAP_SRCRECT            0x00000010
  28118.  
  28119.  
  28120. extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_c_ifspec;
  28121. extern RPC_IF_HANDLE __MIDL_itf_strmif_0388_v0_0_s_ifspec;
  28122.  
  28123. #ifndef __IVMRMixerBitmap_INTERFACE_DEFINED__
  28124. #define __IVMRMixerBitmap_INTERFACE_DEFINED__
  28125.  
  28126. /* interface IVMRMixerBitmap */
  28127. /* [unique][helpstring][uuid][local][object] */ 
  28128.  
  28129.  
  28130. EXTERN_C const IID IID_IVMRMixerBitmap;
  28131.  
  28132. #if defined(__cplusplus) && !defined(CINTERFACE)
  28133.     
  28134.     MIDL_INTERFACE("1E673275-0257-40aa-AF20-7C608D4A0428")
  28135.     IVMRMixerBitmap : public IUnknown
  28136.     {
  28137.     public:
  28138.         virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( 
  28139.             /* [in] */ const VMRALPHABITMAP *pBmpParms) = 0;
  28140.         
  28141.         virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( 
  28142.             /* [in] */ PVMRALPHABITMAP pBmpParms) = 0;
  28143.         
  28144.         virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( 
  28145.             /* [out] */ PVMRALPHABITMAP pBmpParms) = 0;
  28146.         
  28147.     };
  28148.     
  28149. #else     /* C style interface */
  28150.  
  28151.     typedef struct IVMRMixerBitmapVtbl
  28152.     {
  28153.         BEGIN_INTERFACE
  28154.         
  28155.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28156.             IVMRMixerBitmap * This,
  28157.             /* [in] */ REFIID riid,
  28158.             /* [iid_is][out] */ void **ppvObject);
  28159.         
  28160.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28161.             IVMRMixerBitmap * This);
  28162.         
  28163.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28164.             IVMRMixerBitmap * This);
  28165.         
  28166.         HRESULT ( STDMETHODCALLTYPE *SetAlphaBitmap )( 
  28167.             IVMRMixerBitmap * This,
  28168.             /* [in] */ const VMRALPHABITMAP *pBmpParms);
  28169.         
  28170.         HRESULT ( STDMETHODCALLTYPE *UpdateAlphaBitmapParameters )( 
  28171.             IVMRMixerBitmap * This,
  28172.             /* [in] */ PVMRALPHABITMAP pBmpParms);
  28173.         
  28174.         HRESULT ( STDMETHODCALLTYPE *GetAlphaBitmapParameters )( 
  28175.             IVMRMixerBitmap * This,
  28176.             /* [out] */ PVMRALPHABITMAP pBmpParms);
  28177.         
  28178.         END_INTERFACE
  28179.     } IVMRMixerBitmapVtbl;
  28180.  
  28181.     interface IVMRMixerBitmap
  28182.     {
  28183.         CONST_VTBL struct IVMRMixerBitmapVtbl *lpVtbl;
  28184.     };
  28185.  
  28186.     
  28187.  
  28188. #ifdef COBJMACROS
  28189.  
  28190.  
  28191. #define IVMRMixerBitmap_QueryInterface(This,riid,ppvObject)    \
  28192.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28193.  
  28194. #define IVMRMixerBitmap_AddRef(This)    \
  28195.     (This)->lpVtbl -> AddRef(This)
  28196.  
  28197. #define IVMRMixerBitmap_Release(This)    \
  28198.     (This)->lpVtbl -> Release(This)
  28199.  
  28200.  
  28201. #define IVMRMixerBitmap_SetAlphaBitmap(This,pBmpParms)    \
  28202.     (This)->lpVtbl -> SetAlphaBitmap(This,pBmpParms)
  28203.  
  28204. #define IVMRMixerBitmap_UpdateAlphaBitmapParameters(This,pBmpParms)    \
  28205.     (This)->lpVtbl -> UpdateAlphaBitmapParameters(This,pBmpParms)
  28206.  
  28207. #define IVMRMixerBitmap_GetAlphaBitmapParameters(This,pBmpParms)    \
  28208.     (This)->lpVtbl -> GetAlphaBitmapParameters(This,pBmpParms)
  28209.  
  28210. #endif /* COBJMACROS */
  28211.  
  28212.  
  28213. #endif     /* C style interface */
  28214.  
  28215.  
  28216.  
  28217. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_SetAlphaBitmap_Proxy( 
  28218.     IVMRMixerBitmap * This,
  28219.     /* [in] */ const VMRALPHABITMAP *pBmpParms);
  28220.  
  28221.  
  28222. void __RPC_STUB IVMRMixerBitmap_SetAlphaBitmap_Stub(
  28223.     IRpcStubBuffer *This,
  28224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28225.     PRPC_MESSAGE _pRpcMessage,
  28226.     DWORD *_pdwStubPhase);
  28227.  
  28228.  
  28229. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_UpdateAlphaBitmapParameters_Proxy( 
  28230.     IVMRMixerBitmap * This,
  28231.     /* [in] */ PVMRALPHABITMAP pBmpParms);
  28232.  
  28233.  
  28234. void __RPC_STUB IVMRMixerBitmap_UpdateAlphaBitmapParameters_Stub(
  28235.     IRpcStubBuffer *This,
  28236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28237.     PRPC_MESSAGE _pRpcMessage,
  28238.     DWORD *_pdwStubPhase);
  28239.  
  28240.  
  28241. HRESULT STDMETHODCALLTYPE IVMRMixerBitmap_GetAlphaBitmapParameters_Proxy( 
  28242.     IVMRMixerBitmap * This,
  28243.     /* [out] */ PVMRALPHABITMAP pBmpParms);
  28244.  
  28245.  
  28246. void __RPC_STUB IVMRMixerBitmap_GetAlphaBitmapParameters_Stub(
  28247.     IRpcStubBuffer *This,
  28248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28249.     PRPC_MESSAGE _pRpcMessage,
  28250.     DWORD *_pdwStubPhase);
  28251.  
  28252.  
  28253.  
  28254. #endif     /* __IVMRMixerBitmap_INTERFACE_DEFINED__ */
  28255.  
  28256.  
  28257. /* interface __MIDL_itf_strmif_0389 */
  28258. /* [local] */ 
  28259.  
  28260. typedef struct _VMRVIDEOSTREAMINFO
  28261.     {
  28262.     LPDIRECTDRAWSURFACE7 pddsVideoSurface;
  28263.     DWORD dwWidth;
  28264.     DWORD dwHeight;
  28265.     DWORD dwStrmID;
  28266.     FLOAT fAlpha;
  28267.     DDCOLORKEY ddClrKey;
  28268.     NORMALIZEDRECT rNormal;
  28269.     }     VMRVIDEOSTREAMINFO;
  28270.  
  28271.  
  28272.  
  28273. extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_c_ifspec;
  28274. extern RPC_IF_HANDLE __MIDL_itf_strmif_0389_v0_0_s_ifspec;
  28275.  
  28276. #ifndef __IVMRImageCompositor_INTERFACE_DEFINED__
  28277. #define __IVMRImageCompositor_INTERFACE_DEFINED__
  28278.  
  28279. /* interface IVMRImageCompositor */
  28280. /* [unique][helpstring][uuid][local][object][local] */ 
  28281.  
  28282.  
  28283. EXTERN_C const IID IID_IVMRImageCompositor;
  28284.  
  28285. #if defined(__cplusplus) && !defined(CINTERFACE)
  28286.     
  28287.     MIDL_INTERFACE("7a4fb5af-479f-4074-bb40-ce6722e43c82")
  28288.     IVMRImageCompositor : public IUnknown
  28289.     {
  28290.     public:
  28291.         virtual HRESULT STDMETHODCALLTYPE InitCompositionTarget( 
  28292.             /* [in] */ IUnknown *pD3DDevice,
  28293.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  28294.         
  28295.         virtual HRESULT STDMETHODCALLTYPE TermCompositionTarget( 
  28296.             /* [in] */ IUnknown *pD3DDevice,
  28297.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget) = 0;
  28298.         
  28299.         virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( 
  28300.             /* [in] */ DWORD dwStrmID,
  28301.             /* [in] */ AM_MEDIA_TYPE *pmt,
  28302.             /* [in] */ BOOL fTexture) = 0;
  28303.         
  28304.         virtual HRESULT STDMETHODCALLTYPE CompositeImage( 
  28305.             /* [in] */ IUnknown *pD3DDevice,
  28306.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  28307.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  28308.             /* [in] */ REFERENCE_TIME rtStart,
  28309.             /* [in] */ REFERENCE_TIME rtEnd,
  28310.             /* [in] */ DWORD dwClrBkGnd,
  28311.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  28312.             /* [in] */ UINT cStreams) = 0;
  28313.         
  28314.     };
  28315.     
  28316. #else     /* C style interface */
  28317.  
  28318.     typedef struct IVMRImageCompositorVtbl
  28319.     {
  28320.         BEGIN_INTERFACE
  28321.         
  28322.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28323.             IVMRImageCompositor * This,
  28324.             /* [in] */ REFIID riid,
  28325.             /* [iid_is][out] */ void **ppvObject);
  28326.         
  28327.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28328.             IVMRImageCompositor * This);
  28329.         
  28330.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28331.             IVMRImageCompositor * This);
  28332.         
  28333.         HRESULT ( STDMETHODCALLTYPE *InitCompositionTarget )( 
  28334.             IVMRImageCompositor * This,
  28335.             /* [in] */ IUnknown *pD3DDevice,
  28336.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  28337.         
  28338.         HRESULT ( STDMETHODCALLTYPE *TermCompositionTarget )( 
  28339.             IVMRImageCompositor * This,
  28340.             /* [in] */ IUnknown *pD3DDevice,
  28341.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  28342.         
  28343.         HRESULT ( STDMETHODCALLTYPE *SetStreamMediaType )( 
  28344.             IVMRImageCompositor * This,
  28345.             /* [in] */ DWORD dwStrmID,
  28346.             /* [in] */ AM_MEDIA_TYPE *pmt,
  28347.             /* [in] */ BOOL fTexture);
  28348.         
  28349.         HRESULT ( STDMETHODCALLTYPE *CompositeImage )( 
  28350.             IVMRImageCompositor * This,
  28351.             /* [in] */ IUnknown *pD3DDevice,
  28352.             /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  28353.             /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  28354.             /* [in] */ REFERENCE_TIME rtStart,
  28355.             /* [in] */ REFERENCE_TIME rtEnd,
  28356.             /* [in] */ DWORD dwClrBkGnd,
  28357.             /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  28358.             /* [in] */ UINT cStreams);
  28359.         
  28360.         END_INTERFACE
  28361.     } IVMRImageCompositorVtbl;
  28362.  
  28363.     interface IVMRImageCompositor
  28364.     {
  28365.         CONST_VTBL struct IVMRImageCompositorVtbl *lpVtbl;
  28366.     };
  28367.  
  28368.     
  28369.  
  28370. #ifdef COBJMACROS
  28371.  
  28372.  
  28373. #define IVMRImageCompositor_QueryInterface(This,riid,ppvObject)    \
  28374.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28375.  
  28376. #define IVMRImageCompositor_AddRef(This)    \
  28377.     (This)->lpVtbl -> AddRef(This)
  28378.  
  28379. #define IVMRImageCompositor_Release(This)    \
  28380.     (This)->lpVtbl -> Release(This)
  28381.  
  28382.  
  28383. #define IVMRImageCompositor_InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  28384.     (This)->lpVtbl -> InitCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  28385.  
  28386. #define IVMRImageCompositor_TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)    \
  28387.     (This)->lpVtbl -> TermCompositionTarget(This,pD3DDevice,pddsRenderTarget)
  28388.  
  28389. #define IVMRImageCompositor_SetStreamMediaType(This,dwStrmID,pmt,fTexture)    \
  28390.     (This)->lpVtbl -> SetStreamMediaType(This,dwStrmID,pmt,fTexture)
  28391.  
  28392. #define IVMRImageCompositor_CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)    \
  28393.     (This)->lpVtbl -> CompositeImage(This,pD3DDevice,pddsRenderTarget,pmtRenderTarget,rtStart,rtEnd,dwClrBkGnd,pVideoStreamInfo,cStreams)
  28394.  
  28395. #endif /* COBJMACROS */
  28396.  
  28397.  
  28398. #endif     /* C style interface */
  28399.  
  28400.  
  28401.  
  28402. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_InitCompositionTarget_Proxy( 
  28403.     IVMRImageCompositor * This,
  28404.     /* [in] */ IUnknown *pD3DDevice,
  28405.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  28406.  
  28407.  
  28408. void __RPC_STUB IVMRImageCompositor_InitCompositionTarget_Stub(
  28409.     IRpcStubBuffer *This,
  28410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28411.     PRPC_MESSAGE _pRpcMessage,
  28412.     DWORD *_pdwStubPhase);
  28413.  
  28414.  
  28415. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_TermCompositionTarget_Proxy( 
  28416.     IVMRImageCompositor * This,
  28417.     /* [in] */ IUnknown *pD3DDevice,
  28418.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget);
  28419.  
  28420.  
  28421. void __RPC_STUB IVMRImageCompositor_TermCompositionTarget_Stub(
  28422.     IRpcStubBuffer *This,
  28423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28424.     PRPC_MESSAGE _pRpcMessage,
  28425.     DWORD *_pdwStubPhase);
  28426.  
  28427.  
  28428. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_SetStreamMediaType_Proxy( 
  28429.     IVMRImageCompositor * This,
  28430.     /* [in] */ DWORD dwStrmID,
  28431.     /* [in] */ AM_MEDIA_TYPE *pmt,
  28432.     /* [in] */ BOOL fTexture);
  28433.  
  28434.  
  28435. void __RPC_STUB IVMRImageCompositor_SetStreamMediaType_Stub(
  28436.     IRpcStubBuffer *This,
  28437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28438.     PRPC_MESSAGE _pRpcMessage,
  28439.     DWORD *_pdwStubPhase);
  28440.  
  28441.  
  28442. HRESULT STDMETHODCALLTYPE IVMRImageCompositor_CompositeImage_Proxy( 
  28443.     IVMRImageCompositor * This,
  28444.     /* [in] */ IUnknown *pD3DDevice,
  28445.     /* [in] */ LPDIRECTDRAWSURFACE7 pddsRenderTarget,
  28446.     /* [in] */ AM_MEDIA_TYPE *pmtRenderTarget,
  28447.     /* [in] */ REFERENCE_TIME rtStart,
  28448.     /* [in] */ REFERENCE_TIME rtEnd,
  28449.     /* [in] */ DWORD dwClrBkGnd,
  28450.     /* [in] */ VMRVIDEOSTREAMINFO *pVideoStreamInfo,
  28451.     /* [in] */ UINT cStreams);
  28452.  
  28453.  
  28454. void __RPC_STUB IVMRImageCompositor_CompositeImage_Stub(
  28455.     IRpcStubBuffer *This,
  28456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28457.     PRPC_MESSAGE _pRpcMessage,
  28458.     DWORD *_pdwStubPhase);
  28459.  
  28460.  
  28461.  
  28462. #endif     /* __IVMRImageCompositor_INTERFACE_DEFINED__ */
  28463.  
  28464.  
  28465. #ifndef __IVMRVideoStreamControl_INTERFACE_DEFINED__
  28466. #define __IVMRVideoStreamControl_INTERFACE_DEFINED__
  28467.  
  28468. /* interface IVMRVideoStreamControl */
  28469. /* [unique][helpstring][uuid][local][object] */ 
  28470.  
  28471.  
  28472. EXTERN_C const IID IID_IVMRVideoStreamControl;
  28473.  
  28474. #if defined(__cplusplus) && !defined(CINTERFACE)
  28475.     
  28476.     MIDL_INTERFACE("058d1f11-2a54-4bef-bd54-df706626b727")
  28477.     IVMRVideoStreamControl : public IUnknown
  28478.     {
  28479.     public:
  28480.         virtual HRESULT STDMETHODCALLTYPE SetColorKey( 
  28481.             /* [in] */ LPDDCOLORKEY lpClrKey) = 0;
  28482.         
  28483.         virtual HRESULT STDMETHODCALLTYPE GetColorKey( 
  28484.             /* [out] */ LPDDCOLORKEY lpClrKey) = 0;
  28485.         
  28486.         virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( 
  28487.             /* [in] */ BOOL fActive) = 0;
  28488.         
  28489.         virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( 
  28490.             /* [out] */ BOOL *lpfActive) = 0;
  28491.         
  28492.     };
  28493.     
  28494. #else     /* C style interface */
  28495.  
  28496.     typedef struct IVMRVideoStreamControlVtbl
  28497.     {
  28498.         BEGIN_INTERFACE
  28499.         
  28500.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28501.             IVMRVideoStreamControl * This,
  28502.             /* [in] */ REFIID riid,
  28503.             /* [iid_is][out] */ void **ppvObject);
  28504.         
  28505.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28506.             IVMRVideoStreamControl * This);
  28507.         
  28508.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28509.             IVMRVideoStreamControl * This);
  28510.         
  28511.         HRESULT ( STDMETHODCALLTYPE *SetColorKey )( 
  28512.             IVMRVideoStreamControl * This,
  28513.             /* [in] */ LPDDCOLORKEY lpClrKey);
  28514.         
  28515.         HRESULT ( STDMETHODCALLTYPE *GetColorKey )( 
  28516.             IVMRVideoStreamControl * This,
  28517.             /* [out] */ LPDDCOLORKEY lpClrKey);
  28518.         
  28519.         HRESULT ( STDMETHODCALLTYPE *SetStreamActiveState )( 
  28520.             IVMRVideoStreamControl * This,
  28521.             /* [in] */ BOOL fActive);
  28522.         
  28523.         HRESULT ( STDMETHODCALLTYPE *GetStreamActiveState )( 
  28524.             IVMRVideoStreamControl * This,
  28525.             /* [out] */ BOOL *lpfActive);
  28526.         
  28527.         END_INTERFACE
  28528.     } IVMRVideoStreamControlVtbl;
  28529.  
  28530.     interface IVMRVideoStreamControl
  28531.     {
  28532.         CONST_VTBL struct IVMRVideoStreamControlVtbl *lpVtbl;
  28533.     };
  28534.  
  28535.     
  28536.  
  28537. #ifdef COBJMACROS
  28538.  
  28539.  
  28540. #define IVMRVideoStreamControl_QueryInterface(This,riid,ppvObject)    \
  28541.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28542.  
  28543. #define IVMRVideoStreamControl_AddRef(This)    \
  28544.     (This)->lpVtbl -> AddRef(This)
  28545.  
  28546. #define IVMRVideoStreamControl_Release(This)    \
  28547.     (This)->lpVtbl -> Release(This)
  28548.  
  28549.  
  28550. #define IVMRVideoStreamControl_SetColorKey(This,lpClrKey)    \
  28551.     (This)->lpVtbl -> SetColorKey(This,lpClrKey)
  28552.  
  28553. #define IVMRVideoStreamControl_GetColorKey(This,lpClrKey)    \
  28554.     (This)->lpVtbl -> GetColorKey(This,lpClrKey)
  28555.  
  28556. #define IVMRVideoStreamControl_SetStreamActiveState(This,fActive)    \
  28557.     (This)->lpVtbl -> SetStreamActiveState(This,fActive)
  28558.  
  28559. #define IVMRVideoStreamControl_GetStreamActiveState(This,lpfActive)    \
  28560.     (This)->lpVtbl -> GetStreamActiveState(This,lpfActive)
  28561.  
  28562. #endif /* COBJMACROS */
  28563.  
  28564.  
  28565. #endif     /* C style interface */
  28566.  
  28567.  
  28568.  
  28569. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetColorKey_Proxy( 
  28570.     IVMRVideoStreamControl * This,
  28571.     /* [in] */ LPDDCOLORKEY lpClrKey);
  28572.  
  28573.  
  28574. void __RPC_STUB IVMRVideoStreamControl_SetColorKey_Stub(
  28575.     IRpcStubBuffer *This,
  28576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28577.     PRPC_MESSAGE _pRpcMessage,
  28578.     DWORD *_pdwStubPhase);
  28579.  
  28580.  
  28581. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetColorKey_Proxy( 
  28582.     IVMRVideoStreamControl * This,
  28583.     /* [out] */ LPDDCOLORKEY lpClrKey);
  28584.  
  28585.  
  28586. void __RPC_STUB IVMRVideoStreamControl_GetColorKey_Stub(
  28587.     IRpcStubBuffer *This,
  28588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28589.     PRPC_MESSAGE _pRpcMessage,
  28590.     DWORD *_pdwStubPhase);
  28591.  
  28592.  
  28593. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_SetStreamActiveState_Proxy( 
  28594.     IVMRVideoStreamControl * This,
  28595.     /* [in] */ BOOL fActive);
  28596.  
  28597.  
  28598. void __RPC_STUB IVMRVideoStreamControl_SetStreamActiveState_Stub(
  28599.     IRpcStubBuffer *This,
  28600.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28601.     PRPC_MESSAGE _pRpcMessage,
  28602.     DWORD *_pdwStubPhase);
  28603.  
  28604.  
  28605. HRESULT STDMETHODCALLTYPE IVMRVideoStreamControl_GetStreamActiveState_Proxy( 
  28606.     IVMRVideoStreamControl * This,
  28607.     /* [out] */ BOOL *lpfActive);
  28608.  
  28609.  
  28610. void __RPC_STUB IVMRVideoStreamControl_GetStreamActiveState_Stub(
  28611.     IRpcStubBuffer *This,
  28612.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28613.     PRPC_MESSAGE _pRpcMessage,
  28614.     DWORD *_pdwStubPhase);
  28615.  
  28616.  
  28617.  
  28618. #endif     /* __IVMRVideoStreamControl_INTERFACE_DEFINED__ */
  28619.  
  28620.  
  28621. #ifndef __IVMRSurface_INTERFACE_DEFINED__
  28622. #define __IVMRSurface_INTERFACE_DEFINED__
  28623.  
  28624. /* interface IVMRSurface */
  28625. /* [unique][helpstring][uuid][local][object][local] */ 
  28626.  
  28627.  
  28628. EXTERN_C const IID IID_IVMRSurface;
  28629.  
  28630. #if defined(__cplusplus) && !defined(CINTERFACE)
  28631.     
  28632.     MIDL_INTERFACE("a9849bbe-9ec8-4263-b764-62730f0d15d0")
  28633.     IVMRSurface : public IUnknown
  28634.     {
  28635.     public:
  28636.         virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( void) = 0;
  28637.         
  28638.         virtual HRESULT STDMETHODCALLTYPE LockSurface( 
  28639.             /* [out] */ BYTE **lpSurface) = 0;
  28640.         
  28641.         virtual HRESULT STDMETHODCALLTYPE UnlockSurface( void) = 0;
  28642.         
  28643.         virtual HRESULT STDMETHODCALLTYPE GetSurface( 
  28644.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface) = 0;
  28645.         
  28646.     };
  28647.     
  28648. #else     /* C style interface */
  28649.  
  28650.     typedef struct IVMRSurfaceVtbl
  28651.     {
  28652.         BEGIN_INTERFACE
  28653.         
  28654.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28655.             IVMRSurface * This,
  28656.             /* [in] */ REFIID riid,
  28657.             /* [iid_is][out] */ void **ppvObject);
  28658.         
  28659.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28660.             IVMRSurface * This);
  28661.         
  28662.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28663.             IVMRSurface * This);
  28664.         
  28665.         HRESULT ( STDMETHODCALLTYPE *IsSurfaceLocked )( 
  28666.             IVMRSurface * This);
  28667.         
  28668.         HRESULT ( STDMETHODCALLTYPE *LockSurface )( 
  28669.             IVMRSurface * This,
  28670.             /* [out] */ BYTE **lpSurface);
  28671.         
  28672.         HRESULT ( STDMETHODCALLTYPE *UnlockSurface )( 
  28673.             IVMRSurface * This);
  28674.         
  28675.         HRESULT ( STDMETHODCALLTYPE *GetSurface )( 
  28676.             IVMRSurface * This,
  28677.             /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  28678.         
  28679.         END_INTERFACE
  28680.     } IVMRSurfaceVtbl;
  28681.  
  28682.     interface IVMRSurface
  28683.     {
  28684.         CONST_VTBL struct IVMRSurfaceVtbl *lpVtbl;
  28685.     };
  28686.  
  28687.     
  28688.  
  28689. #ifdef COBJMACROS
  28690.  
  28691.  
  28692. #define IVMRSurface_QueryInterface(This,riid,ppvObject)    \
  28693.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28694.  
  28695. #define IVMRSurface_AddRef(This)    \
  28696.     (This)->lpVtbl -> AddRef(This)
  28697.  
  28698. #define IVMRSurface_Release(This)    \
  28699.     (This)->lpVtbl -> Release(This)
  28700.  
  28701.  
  28702. #define IVMRSurface_IsSurfaceLocked(This)    \
  28703.     (This)->lpVtbl -> IsSurfaceLocked(This)
  28704.  
  28705. #define IVMRSurface_LockSurface(This,lpSurface)    \
  28706.     (This)->lpVtbl -> LockSurface(This,lpSurface)
  28707.  
  28708. #define IVMRSurface_UnlockSurface(This)    \
  28709.     (This)->lpVtbl -> UnlockSurface(This)
  28710.  
  28711. #define IVMRSurface_GetSurface(This,lplpSurface)    \
  28712.     (This)->lpVtbl -> GetSurface(This,lplpSurface)
  28713.  
  28714. #endif /* COBJMACROS */
  28715.  
  28716.  
  28717. #endif     /* C style interface */
  28718.  
  28719.  
  28720.  
  28721. HRESULT STDMETHODCALLTYPE IVMRSurface_IsSurfaceLocked_Proxy( 
  28722.     IVMRSurface * This);
  28723.  
  28724.  
  28725. void __RPC_STUB IVMRSurface_IsSurfaceLocked_Stub(
  28726.     IRpcStubBuffer *This,
  28727.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28728.     PRPC_MESSAGE _pRpcMessage,
  28729.     DWORD *_pdwStubPhase);
  28730.  
  28731.  
  28732. HRESULT STDMETHODCALLTYPE IVMRSurface_LockSurface_Proxy( 
  28733.     IVMRSurface * This,
  28734.     /* [out] */ BYTE **lpSurface);
  28735.  
  28736.  
  28737. void __RPC_STUB IVMRSurface_LockSurface_Stub(
  28738.     IRpcStubBuffer *This,
  28739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28740.     PRPC_MESSAGE _pRpcMessage,
  28741.     DWORD *_pdwStubPhase);
  28742.  
  28743.  
  28744. HRESULT STDMETHODCALLTYPE IVMRSurface_UnlockSurface_Proxy( 
  28745.     IVMRSurface * This);
  28746.  
  28747.  
  28748. void __RPC_STUB IVMRSurface_UnlockSurface_Stub(
  28749.     IRpcStubBuffer *This,
  28750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28751.     PRPC_MESSAGE _pRpcMessage,
  28752.     DWORD *_pdwStubPhase);
  28753.  
  28754.  
  28755. HRESULT STDMETHODCALLTYPE IVMRSurface_GetSurface_Proxy( 
  28756.     IVMRSurface * This,
  28757.     /* [out] */ LPDIRECTDRAWSURFACE7 *lplpSurface);
  28758.  
  28759.  
  28760. void __RPC_STUB IVMRSurface_GetSurface_Stub(
  28761.     IRpcStubBuffer *This,
  28762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28763.     PRPC_MESSAGE _pRpcMessage,
  28764.     DWORD *_pdwStubPhase);
  28765.  
  28766.  
  28767.  
  28768. #endif     /* __IVMRSurface_INTERFACE_DEFINED__ */
  28769.  
  28770.  
  28771. #ifndef __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  28772. #define __IVMRImagePresenterConfig_INTERFACE_DEFINED__
  28773.  
  28774. /* interface IVMRImagePresenterConfig */
  28775. /* [unique][helpstring][uuid][local][object][local] */ 
  28776.  
  28777.  
  28778. EXTERN_C const IID IID_IVMRImagePresenterConfig;
  28779.  
  28780. #if defined(__cplusplus) && !defined(CINTERFACE)
  28781.     
  28782.     MIDL_INTERFACE("9f3a1c85-8555-49ba-935f-be5b5b29d178")
  28783.     IVMRImagePresenterConfig : public IUnknown
  28784.     {
  28785.     public:
  28786.         virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( 
  28787.             /* [in] */ DWORD dwRenderFlags) = 0;
  28788.         
  28789.         virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( 
  28790.             /* [out] */ DWORD *dwRenderFlags) = 0;
  28791.         
  28792.     };
  28793.     
  28794. #else     /* C style interface */
  28795.  
  28796.     typedef struct IVMRImagePresenterConfigVtbl
  28797.     {
  28798.         BEGIN_INTERFACE
  28799.         
  28800.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28801.             IVMRImagePresenterConfig * This,
  28802.             /* [in] */ REFIID riid,
  28803.             /* [iid_is][out] */ void **ppvObject);
  28804.         
  28805.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28806.             IVMRImagePresenterConfig * This);
  28807.         
  28808.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28809.             IVMRImagePresenterConfig * This);
  28810.         
  28811.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  28812.             IVMRImagePresenterConfig * This,
  28813.             /* [in] */ DWORD dwRenderFlags);
  28814.         
  28815.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  28816.             IVMRImagePresenterConfig * This,
  28817.             /* [out] */ DWORD *dwRenderFlags);
  28818.         
  28819.         END_INTERFACE
  28820.     } IVMRImagePresenterConfigVtbl;
  28821.  
  28822.     interface IVMRImagePresenterConfig
  28823.     {
  28824.         CONST_VTBL struct IVMRImagePresenterConfigVtbl *lpVtbl;
  28825.     };
  28826.  
  28827.     
  28828.  
  28829. #ifdef COBJMACROS
  28830.  
  28831.  
  28832. #define IVMRImagePresenterConfig_QueryInterface(This,riid,ppvObject)    \
  28833.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28834.  
  28835. #define IVMRImagePresenterConfig_AddRef(This)    \
  28836.     (This)->lpVtbl -> AddRef(This)
  28837.  
  28838. #define IVMRImagePresenterConfig_Release(This)    \
  28839.     (This)->lpVtbl -> Release(This)
  28840.  
  28841.  
  28842. #define IVMRImagePresenterConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  28843.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  28844.  
  28845. #define IVMRImagePresenterConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  28846.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  28847.  
  28848. #endif /* COBJMACROS */
  28849.  
  28850.  
  28851. #endif     /* C style interface */
  28852.  
  28853.  
  28854.  
  28855. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_SetRenderingPrefs_Proxy( 
  28856.     IVMRImagePresenterConfig * This,
  28857.     /* [in] */ DWORD dwRenderFlags);
  28858.  
  28859.  
  28860. void __RPC_STUB IVMRImagePresenterConfig_SetRenderingPrefs_Stub(
  28861.     IRpcStubBuffer *This,
  28862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28863.     PRPC_MESSAGE _pRpcMessage,
  28864.     DWORD *_pdwStubPhase);
  28865.  
  28866.  
  28867. HRESULT STDMETHODCALLTYPE IVMRImagePresenterConfig_GetRenderingPrefs_Proxy( 
  28868.     IVMRImagePresenterConfig * This,
  28869.     /* [out] */ DWORD *dwRenderFlags);
  28870.  
  28871.  
  28872. void __RPC_STUB IVMRImagePresenterConfig_GetRenderingPrefs_Stub(
  28873.     IRpcStubBuffer *This,
  28874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28875.     PRPC_MESSAGE _pRpcMessage,
  28876.     DWORD *_pdwStubPhase);
  28877.  
  28878.  
  28879.  
  28880. #endif     /* __IVMRImagePresenterConfig_INTERFACE_DEFINED__ */
  28881.  
  28882.  
  28883. #ifndef __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  28884. #define __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__
  28885.  
  28886. /* interface IVMRImagePresenterExclModeConfig */
  28887. /* [unique][helpstring][uuid][local][object][local] */ 
  28888.  
  28889.  
  28890. EXTERN_C const IID IID_IVMRImagePresenterExclModeConfig;
  28891.  
  28892. #if defined(__cplusplus) && !defined(CINTERFACE)
  28893.     
  28894.     MIDL_INTERFACE("e6f7ce40-4673-44f1-8f77-5499d68cb4ea")
  28895.     IVMRImagePresenterExclModeConfig : public IVMRImagePresenterConfig
  28896.     {
  28897.     public:
  28898.         virtual HRESULT STDMETHODCALLTYPE SetXlcModeDDObjAndPrimarySurface( 
  28899.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  28900.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf) = 0;
  28901.         
  28902.         virtual HRESULT STDMETHODCALLTYPE GetXlcModeDDObjAndPrimarySurface( 
  28903.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  28904.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf) = 0;
  28905.         
  28906.     };
  28907.     
  28908. #else     /* C style interface */
  28909.  
  28910.     typedef struct IVMRImagePresenterExclModeConfigVtbl
  28911.     {
  28912.         BEGIN_INTERFACE
  28913.         
  28914.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  28915.             IVMRImagePresenterExclModeConfig * This,
  28916.             /* [in] */ REFIID riid,
  28917.             /* [iid_is][out] */ void **ppvObject);
  28918.         
  28919.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  28920.             IVMRImagePresenterExclModeConfig * This);
  28921.         
  28922.         ULONG ( STDMETHODCALLTYPE *Release )( 
  28923.             IVMRImagePresenterExclModeConfig * This);
  28924.         
  28925.         HRESULT ( STDMETHODCALLTYPE *SetRenderingPrefs )( 
  28926.             IVMRImagePresenterExclModeConfig * This,
  28927.             /* [in] */ DWORD dwRenderFlags);
  28928.         
  28929.         HRESULT ( STDMETHODCALLTYPE *GetRenderingPrefs )( 
  28930.             IVMRImagePresenterExclModeConfig * This,
  28931.             /* [out] */ DWORD *dwRenderFlags);
  28932.         
  28933.         HRESULT ( STDMETHODCALLTYPE *SetXlcModeDDObjAndPrimarySurface )( 
  28934.             IVMRImagePresenterExclModeConfig * This,
  28935.             /* [in] */ LPDIRECTDRAW7 lpDDObj,
  28936.             /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  28937.         
  28938.         HRESULT ( STDMETHODCALLTYPE *GetXlcModeDDObjAndPrimarySurface )( 
  28939.             IVMRImagePresenterExclModeConfig * This,
  28940.             /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  28941.             /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  28942.         
  28943.         END_INTERFACE
  28944.     } IVMRImagePresenterExclModeConfigVtbl;
  28945.  
  28946.     interface IVMRImagePresenterExclModeConfig
  28947.     {
  28948.         CONST_VTBL struct IVMRImagePresenterExclModeConfigVtbl *lpVtbl;
  28949.     };
  28950.  
  28951.     
  28952.  
  28953. #ifdef COBJMACROS
  28954.  
  28955.  
  28956. #define IVMRImagePresenterExclModeConfig_QueryInterface(This,riid,ppvObject)    \
  28957.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  28958.  
  28959. #define IVMRImagePresenterExclModeConfig_AddRef(This)    \
  28960.     (This)->lpVtbl -> AddRef(This)
  28961.  
  28962. #define IVMRImagePresenterExclModeConfig_Release(This)    \
  28963.     (This)->lpVtbl -> Release(This)
  28964.  
  28965.  
  28966. #define IVMRImagePresenterExclModeConfig_SetRenderingPrefs(This,dwRenderFlags)    \
  28967.     (This)->lpVtbl -> SetRenderingPrefs(This,dwRenderFlags)
  28968.  
  28969. #define IVMRImagePresenterExclModeConfig_GetRenderingPrefs(This,dwRenderFlags)    \
  28970.     (This)->lpVtbl -> GetRenderingPrefs(This,dwRenderFlags)
  28971.  
  28972.  
  28973. #define IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  28974.     (This)->lpVtbl -> SetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  28975.  
  28976. #define IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)    \
  28977.     (This)->lpVtbl -> GetXlcModeDDObjAndPrimarySurface(This,lpDDObj,lpPrimarySurf)
  28978.  
  28979. #endif /* COBJMACROS */
  28980.  
  28981.  
  28982. #endif     /* C style interface */
  28983.  
  28984.  
  28985.  
  28986. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Proxy( 
  28987.     IVMRImagePresenterExclModeConfig * This,
  28988.     /* [in] */ LPDIRECTDRAW7 lpDDObj,
  28989.     /* [in] */ LPDIRECTDRAWSURFACE7 lpPrimarySurf);
  28990.  
  28991.  
  28992. void __RPC_STUB IVMRImagePresenterExclModeConfig_SetXlcModeDDObjAndPrimarySurface_Stub(
  28993.     IRpcStubBuffer *This,
  28994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28995.     PRPC_MESSAGE _pRpcMessage,
  28996.     DWORD *_pdwStubPhase);
  28997.  
  28998.  
  28999. HRESULT STDMETHODCALLTYPE IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Proxy( 
  29000.     IVMRImagePresenterExclModeConfig * This,
  29001.     /* [out] */ LPDIRECTDRAW7 *lpDDObj,
  29002.     /* [out] */ LPDIRECTDRAWSURFACE7 *lpPrimarySurf);
  29003.  
  29004.  
  29005. void __RPC_STUB IVMRImagePresenterExclModeConfig_GetXlcModeDDObjAndPrimarySurface_Stub(
  29006.     IRpcStubBuffer *This,
  29007.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29008.     PRPC_MESSAGE _pRpcMessage,
  29009.     DWORD *_pdwStubPhase);
  29010.  
  29011.  
  29012.  
  29013. #endif     /* __IVMRImagePresenterExclModeConfig_INTERFACE_DEFINED__ */
  29014.  
  29015.  
  29016. #ifndef __IVPManager_INTERFACE_DEFINED__
  29017. #define __IVPManager_INTERFACE_DEFINED__
  29018.  
  29019. /* interface IVPManager */
  29020. /* [unique][helpstring][uuid][local][object][local] */ 
  29021.  
  29022.  
  29023. EXTERN_C const IID IID_IVPManager;
  29024.  
  29025. #if defined(__cplusplus) && !defined(CINTERFACE)
  29026.     
  29027.     MIDL_INTERFACE("aac18c18-e186-46d2-825d-a1f8dc8e395a")
  29028.     IVPManager : public IUnknown
  29029.     {
  29030.     public:
  29031.         virtual HRESULT STDMETHODCALLTYPE SetVideoPortIndex( 
  29032.             /* [in] */ DWORD dwVideoPortIndex) = 0;
  29033.         
  29034.         virtual HRESULT STDMETHODCALLTYPE GetVideoPortIndex( 
  29035.             /* [out] */ DWORD *pdwVideoPortIndex) = 0;
  29036.         
  29037.     };
  29038.     
  29039. #else     /* C style interface */
  29040.  
  29041.     typedef struct IVPManagerVtbl
  29042.     {
  29043.         BEGIN_INTERFACE
  29044.         
  29045.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  29046.             IVPManager * This,
  29047.             /* [in] */ REFIID riid,
  29048.             /* [iid_is][out] */ void **ppvObject);
  29049.         
  29050.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  29051.             IVPManager * This);
  29052.         
  29053.         ULONG ( STDMETHODCALLTYPE *Release )( 
  29054.             IVPManager * This);
  29055.         
  29056.         HRESULT ( STDMETHODCALLTYPE *SetVideoPortIndex )( 
  29057.             IVPManager * This,
  29058.             /* [in] */ DWORD dwVideoPortIndex);
  29059.         
  29060.         HRESULT ( STDMETHODCALLTYPE *GetVideoPortIndex )( 
  29061.             IVPManager * This,
  29062.             /* [out] */ DWORD *pdwVideoPortIndex);
  29063.         
  29064.         END_INTERFACE
  29065.     } IVPManagerVtbl;
  29066.  
  29067.     interface IVPManager
  29068.     {
  29069.         CONST_VTBL struct IVPManagerVtbl *lpVtbl;
  29070.     };
  29071.  
  29072.     
  29073.  
  29074. #ifdef COBJMACROS
  29075.  
  29076.  
  29077. #define IVPManager_QueryInterface(This,riid,ppvObject)    \
  29078.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  29079.  
  29080. #define IVPManager_AddRef(This)    \
  29081.     (This)->lpVtbl -> AddRef(This)
  29082.  
  29083. #define IVPManager_Release(This)    \
  29084.     (This)->lpVtbl -> Release(This)
  29085.  
  29086.  
  29087. #define IVPManager_SetVideoPortIndex(This,dwVideoPortIndex)    \
  29088.     (This)->lpVtbl -> SetVideoPortIndex(This,dwVideoPortIndex)
  29089.  
  29090. #define IVPManager_GetVideoPortIndex(This,pdwVideoPortIndex)    \
  29091.     (This)->lpVtbl -> GetVideoPortIndex(This,pdwVideoPortIndex)
  29092.  
  29093. #endif /* COBJMACROS */
  29094.  
  29095.  
  29096. #endif     /* C style interface */
  29097.  
  29098.  
  29099.  
  29100. HRESULT STDMETHODCALLTYPE IVPManager_SetVideoPortIndex_Proxy( 
  29101.     IVPManager * This,
  29102.     /* [in] */ DWORD dwVideoPortIndex);
  29103.  
  29104.  
  29105. void __RPC_STUB IVPManager_SetVideoPortIndex_Stub(
  29106.     IRpcStubBuffer *This,
  29107.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29108.     PRPC_MESSAGE _pRpcMessage,
  29109.     DWORD *_pdwStubPhase);
  29110.  
  29111.  
  29112. HRESULT STDMETHODCALLTYPE IVPManager_GetVideoPortIndex_Proxy( 
  29113.     IVPManager * This,
  29114.     /* [out] */ DWORD *pdwVideoPortIndex);
  29115.  
  29116.  
  29117. void __RPC_STUB IVPManager_GetVideoPortIndex_Stub(
  29118.     IRpcStubBuffer *This,
  29119.     IRpcChannelBuffer *_pRpcChannelBuffer,
  29120.     PRPC_MESSAGE _pRpcMessage,
  29121.     DWORD *_pdwStubPhase);
  29122.  
  29123.  
  29124.  
  29125. #endif     /* __IVPManager_INTERFACE_DEFINED__ */
  29126.  
  29127.  
  29128. /* Additional Prototypes for ALL interfaces */
  29129.  
  29130. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  29131. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  29132. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  29133. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  29134.  
  29135. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Proxy( 
  29136.     ICaptureGraphBuilder * This,
  29137.     /* [unique][in] */ const GUID *pCategory,
  29138.     /* [in] */ IBaseFilter *pf,
  29139.     /* [in] */ REFIID riid,
  29140.     /* [out] */ void **ppint);
  29141.  
  29142.  
  29143. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder_FindInterface_Stub( 
  29144.     ICaptureGraphBuilder * This,
  29145.     /* [unique][in] */ const GUID *pCategory,
  29146.     /* [in] */ IBaseFilter *pf,
  29147.     /* [in] */ REFIID riid,
  29148.     /* [out] */ IUnknown **ppint);
  29149.  
  29150. /* [local] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Proxy( 
  29151.     ICaptureGraphBuilder2 * This,
  29152.     /* [in] */ const GUID *pCategory,
  29153.     /* [in] */ const GUID *pType,
  29154.     /* [in] */ IBaseFilter *pf,
  29155.     /* [in] */ REFIID riid,
  29156.     /* [out] */ void **ppint);
  29157.  
  29158.  
  29159. /* [call_as] */ HRESULT STDMETHODCALLTYPE ICaptureGraphBuilder2_FindInterface_Stub( 
  29160.     ICaptureGraphBuilder2 * This,
  29161.     /* [in] */ const GUID *pCategory,
  29162.     /* [in] */ const GUID *pType,
  29163.     /* [in] */ IBaseFilter *pf,
  29164.     /* [in] */ REFIID riid,
  29165.     /* [out] */ IUnknown **ppint);
  29166.  
  29167. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Proxy( 
  29168.     IKsPropertySet * This,
  29169.     /* [in] */ REFGUID guidPropSet,
  29170.     /* [in] */ DWORD dwPropID,
  29171.     /* [size_is][in] */ LPVOID pInstanceData,
  29172.     /* [in] */ DWORD cbInstanceData,
  29173.     /* [size_is][in] */ LPVOID pPropData,
  29174.     /* [in] */ DWORD cbPropData);
  29175.  
  29176.  
  29177. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Set_Stub( 
  29178.     IKsPropertySet * This,
  29179.     /* [in] */ REFGUID guidPropSet,
  29180.     /* [in] */ DWORD dwPropID,
  29181.     /* [size_is][in] */ byte *pInstanceData,
  29182.     /* [in] */ DWORD cbInstanceData,
  29183.     /* [size_is][in] */ byte *pPropData,
  29184.     /* [in] */ DWORD cbPropData);
  29185.  
  29186. /* [local] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Proxy( 
  29187.     IKsPropertySet * This,
  29188.     /* [in] */ REFGUID guidPropSet,
  29189.     /* [in] */ DWORD dwPropID,
  29190.     /* [size_is][in] */ LPVOID pInstanceData,
  29191.     /* [in] */ DWORD cbInstanceData,
  29192.     /* [size_is][out] */ LPVOID pPropData,
  29193.     /* [in] */ DWORD cbPropData,
  29194.     /* [out] */ DWORD *pcbReturned);
  29195.  
  29196.  
  29197. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_Get_Stub( 
  29198.     IKsPropertySet * This,
  29199.     /* [in] */ REFGUID guidPropSet,
  29200.     /* [in] */ DWORD dwPropID,
  29201.     /* [size_is][in] */ byte *pInstanceData,
  29202.     /* [in] */ DWORD cbInstanceData,
  29203.     /* [size_is][out] */ byte *pPropData,
  29204.     /* [in] */ DWORD cbPropData,
  29205.     /* [out] */ DWORD *pcbReturned);
  29206.  
  29207.  
  29208.  
  29209. /* end of Additional Prototypes */
  29210.  
  29211. #ifdef __cplusplus
  29212. }
  29213. #endif
  29214.  
  29215. #endif
  29216.  
  29217.  
  29218.